Ga naar inhoud

Album artwork in database (phpmyadmin)


Anoniem2

Aanbevolen berichten

Geen error meer, database zichtbaar, maar alsnog geen plaatje. Page source is wel anders.\n\n[CODE]\n405Landing in London (feat. Bob Seger)3 Doors DownSeventeen Days2005Rock2331Positive Vibration\n[/CODE]\n\nIk ben maar een simpel studentje, ik waggel een beetje achter de prof\'s aan :D\nDat betekend niet dat ik ook zelf wel nadenk en niet alles gewoon ga vragen!\n\n-edit- Het image adres:\nfile:///C%3A%2FMusic%2FBob%20Marley%2FGreatest%20Hits/folder.jpg
Link naar reactie
Het pad ziet er op zich goed uit nu. Ik vind het vreemd dat het plaatje wel door komt via het Page Info scherm maar niet op de pagina zelf.\n\nAls ik hier alleen het volgende in een html bestandje zet werkt het gewoon: \n\n\nMisschien daar eens mee beginnen dan? Als jij eens alleen\n\nin een nieuw html bestand zet en dat opent in de browser? Om te beginnen het html bestand openen door er op te dubbelklikken, niet via [url]http://localhost[/url]. Werkt dat wel?\n\nEDIT: kijk in in de tussentijd even naar je script\nEDIT2: je script is verder niets mis mee. Ik denk dat het probleem nu ergens in de browser zit.
Link naar reactie
En specifiek werkt die wel?\nZo ja, dan is het echt een optie in de browser waardoor het mis gaat.\n\nVoor streepjes en haakjes kom je dan toch weer bij rawurlencode(), maar daar moet dan nog iets bij om te zorgen dat slashes en de dubbele punt wel normaal blijven. Hier komen we nog wel uit, de oplossing voor het voorgaande is wat spannender.\n\nVoor wat betreft andere bestandsnamen kun je de functie file_exists() gebruiken. Zolang je alle mogelijke opties weet hoef je ze dan niet per map uit te zoeken.
Link naar reactie
[QUOTE=FooBar;630346]En specifiek werkt die wel?\nZo ja, dan is het echt een optie in de browser waardoor het mis gaat.\n[/QUOTE]\n\nDie werkt wel ja. Ik test het altijd in Waterfox (firefox) en Internet Explorer 9.\n\n[QUOTE=FooBar;630346]\nVoor streepjes en haakjes kom je dan toch weer bij rawurlencode(), maar daar moet dan nog iets bij om te zorgen dat slashes en de dubbele punt wel normaal blijven. Hier komen we nog wel uit, de oplossing voor het voorgaande is wat spannender.\n[/QUOTE]\n\nIk weet dit nog niet zeker. Ik heb al gemerkt dat het voor het grootste gedeelte aan ligt dat ik meerdere bestandsnamen gebruik. Volgens mij maken streepjes toch niet uit.\n\n[QUOTE=FooBar;630346]\nVoor wat betreft andere bestandsnamen kun je de functie file_exists() gebruiken. Zolang je alle mogelijke opties weet hoef je ze dan niet per map uit te zoeken.[/QUOTE]\n\nIk ben ermee aan het klooien, maar het lukt nog niet zo goed. Ik weet niet goed waar ik nu de variabele $file moet neerzetten. Die regel geeft ook een error.\n\n[PHP]\nwhile($row = mysql_fetch_array($result))\n {\n echo \"\";\n echo \"\" . $row[\'indexnr\'] . \"\";\n echo \"\" . $row[\'tracknr\'] . \"\";\n echo \"\" . $row[\'title\'] . \"\";\n echo \"\" . $row[\'artist\'] . \"\";\n echo \"\" . $row[\'album\'] . \"\";\n echo \"\" . $row[\'year\'] . \"\";\n echo \"\" . $row[\'genre\'] . \"\";\n \n if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/folder.jpg)\')) {\n $file = \'/folder.jpg\';\n }\n else if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/front.jpg)\')) {\n $file = \'/front.jpg\';\n }\n\n if ($artworkP != $row[\'artwork\'] ) {\n echo \"\" . \'\' . \"\";\n $artworkP = $row[\'artwork\']; \n }\n echo \"\";\n }\necho \"\";\n[/PHP]
Link naar reactie
[QUOTE=Jeroentje94;630357]Die werkt wel ja. Ik test het altijd in Waterfox (firefox) en Internet Explorer 9.[/QUOTE]\r\n\r\nDat is op zich interessant, want dat is precies dezelfde SRC als wat door je PHP script gegenereerd wordt. En dan doet \'ie het dus niet. Of begrijp ik het nu goed dat \'ie het wel doet, maar alleen na lang laden?\r\nAls het niet werkt is het geen gek idee om ook je map met muziek toegankelijk te maken via [url]http://localhost[/url], zodat al je bestandsaanvragen via de server lopen in plaats van dat de browser ze op je harde schijf moet gaan opzoeken. Ik zou het niet gek vinden als browser niet gemaakt zijn op veel file:/// verzoeken.\r\n\r\n$file:\r\nHet idee is goed. Ik zou wel de [I]if[/I] en [I]else if[/I] met[I] file_exists[/I] binnen de[I] if [/I]van [I]$artworkP[/I] zetten. Dat scheelt een hoop schijftoegang als [I]$artworkP[/I] wel gelijk is aan[I] $row[\'artwork\'][/I].\r\n\r\nVerder als je een foutmelding hebt is het handig om die even te vermelden. Misschien zeggen die jou nog niet zo veel, maar als je wat meer ervaring krijgt met PHP kun je meestal direct aan de hand van de foutmelding zien wat je niet goed hebt gedaan. Maar ik heb \'m nu ook zo gevonden: er moet nog een punt achter [i]$file)[/i]
Link naar reactie
Nu wordt de bestandsnaam überhaupt niet getoond.\r\n[PHP]\r\nwhile($row = mysql_fetch_array($result))\r\n {\r\n echo \"\";\r\n echo \"\" . $row[\'indexnr\'] . \"\";\r\n echo \"\" . $row[\'tracknr\'] . \"\";\r\n echo \"\" . $row[\'title\'] . \"\";\r\n echo \"\" . $row[\'artist\'] . \"\";\r\n echo \"\" . $row[\'album\'] . \"\";\r\n echo \"\" . $row[\'year\'] . \"\";\r\n echo \"\" . $row[\'genre\'] . \"\";\r\n\r\n if ($artworkP != $row[\'artwork\'] ) {\r\n if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/folder.jpg)\')) {\r\n $file = \'/folder.jpg\';\r\n }\r\n else if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/front.jpg)\')) {\r\n $file = \'/front.jpg\';\r\n }\r\n else if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/folder.png)\')) {\r\n $file = \'/folder.png\';\r\n }\r\n else if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/front.png)\')) {\r\n $file = \'/front.png\';\r\n }\r\n/*\r\n else if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/$row[\'artist\'])\')) {\r\n $file = $row[\'artist\'];\r\n }\r\n else if (file_exists(\'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/$row[\'album\'])\')) {\r\n $file = $row[\'album\'];\r\n }\r\n*/\r\n else {\r\n $file = \'/\'.$row[\'title\'];\r\n }\r\n \r\n echo \"\" . \'\' . \"\";\r\n $artworkP = $row[\'artwork\'];\r\n }\r\n echo \"\";\r\n }\r\necho \"\";\r\n[/PHP]\r\n\r\nEven iets anders proberen:\r\n[PHP]\r\necho \"\" . \'\' . \"\";\r\n[/PHP]\r\nHij pakt de variabele $file niet. De directory stopt nu bij het album, er staat niet folder.jpg of zoiets achter.\r\n\r\nEven dit proberen:\r\n[PHP]\r\necho \"\" . \'\' . \"\";\r\n[/PHP]\r\nHIJ DOET HET!!!\r\n\r\n[IMG]http://i50.tinypic.com/nbex3c.jpg[/IMG]\r\n\r\nDit is de code in mijn database:\r\n\r\n[CODE]\r\nMusic\\3 Doors Down\\3 Doors Down (Best Buy Exclusive Edition)\r\n[/CODE]
Link naar reactie
Het CSV maak ik aan met MP3 book helper. Probleem is, als ik het csv open in exel, Find and replace doe \'c:\\\' met \' \' en hem probeer te importeren in myphpadmin hij altijd de error geeft: \'Invalid column count in CSV input on line 1.\'\nAls ik het bestand ongemoeid laat, niets aan de hand. Helaas kan zo\'n \'find and replace\' niet in dat programma...
Link naar reactie
Hehe, ik maar er één grote kliederboel van :cool:\r\n\r\nDeze code doet het:\r\n[PHP]\r\necho \"\" . \'\' . \"\";\r\n[/PHP]\r\nHet bestand krijgt deze naam:\r\n[url]http://localhost/Music/3%20Doors%20Down/3%20Doors%20Down%20(Best%20Buy%20Exclusive%20Edition)/Train[/url]\r\n\r\nMijn \'file_exist\' functie doet het dus niet goed, hij gaat altijd voor de \'else\' optie, namelijk:\r\n[PHP]\r\nelse {\r\n $file = \'/\'.$row[\'title\'];\r\n }\r\n[/PHP]\r\n\r\nIn de bijlage nog maar eens mijn volledige php script.
Link naar reactie
[PHP]\n$file1 = \'http://localhost/\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/folder.jpg)\';\n$file2 = \'http://localhost/\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/front.jpg)\';\n$file3 = \'http://localhost/\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/folder.png)\';\n$file4 = \'http://localhost/\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/front.png)\';\n/*\n$file5 = \'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/$row[\'artist\'])\';\n$file6 = \'file:///\'.str_replace(array(\'\\\\\', \' \'),array(\'/\', \'%20\'),$row[\'artwork\']).\'/$row[\'album\'])\';\n*/\n\n if ($artworkP != $row[\'artwork\'] ) {\n if (file_exists($file1)) {\n $file = \'/folder.jpg\';\n }\n else if (file_exists($file2)) {\n $file = \'/front.jpg\';\n }\n else if (file_exists($file3)) {\n $file = \'/folder.png\';\n }\n else if (file_exists($file4)) {\n $file = \'/front.png\';\n }\n/*\n else if (file_exists($file5)) {\n $file = $row[\'artist\'];\n }\n else if (file_exists($file6)) {\n $file = $row[\'album\'];\n }\n*/\n else {\n $file = \'/\'.$row[\'title\'].\'.jpg\';\n }\n[/PHP]\n\nHelaas... mag niet baten. Hmff, dacht ik even klaar te zijn...\nVolgens [URL=\"http://php.net/manual/en/function.file-exists.php\"]deze[/URL] guide hoort het te werken.
Link naar reactie
Het is me gelukt om de database aan te passen. Blijkbaar is er een \'replace\' functie.\n\n1:\nUPDATE artiesten SET artwork = replace(artwork,\"\\\\Music\",\"Music\");\n2:\nUPDATE artiesten SET artwork = replace(artwork,\" Music\",\"Music\");\n\nOveral waar nu het bestand \'folder.jpg\' bestaat wordt op de website nu een plaatje getoond! Nu alleen nog de file_exists functie aan de praat krijgen. Ik heb ook al \'is_readable()\' en \'fopen\' geprobeerd, geen succes.
Link naar reactie
[QUOTE=FooBar;630543]Laat $file1 etc. eens via een echo naar de browser uitvoeren. Dan kun je sneller zien of het gegenereerde pad ook daadwerkelijk klopt en het ook snel even kopieren naar de adresbalk van de browser om te testen. Werkt dat specifieke pad in je browser, dan moet het ook werken voor file_exitst().[/QUOTE]\r\n\r\nDeze had ik al geprobeerd, maar wat ik ook doe, geen effect. Ik heb het op een andere manier opgelost. Ik heb het programma \'Beyond compare\' waarmee je ook kan filteren op bestandsnamen, folders etc. Ik heb alles wat \'front.jpg\' heet hernoemd naar \'folder.jpg\'. Dan blijven er nog ongeveer 20 bestanden over die anders heten, maar dat moet dan maar, hier laat ik het bij.\r\n\r\nIk wil je van harte bedanken voor je moeite en interesse, je hebt me geweldig geholpen! :)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...