18. november 2008 - 19:51
Der er
12 kommentarer og 1 løsning
Hvorfor sletter den ikke?
Jeg har dette her script, som skal slette billeder fra en valgt mappe. Mappen vælges fint men det valgte billede sletter ikke! Hvad har gjort forkert? Script: <?php $mappe = $_REQUEST["mappe"]; echo "Du har valgt at slette billeder fra mappen $mappe.<br><br><br>"; $dir = "./../images/billeder/$mappe/"; // Mappe med billeder if(!isset($_GET['slet'])){ if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if($file != "." && $file != ".."){ echo " <table width='250'> <tr> <td width='150'>$file</td> <td width='50'><img src=./../images/billeder/$mappe/$file width=50 height=50 border=0> </td> <td width='50'><a href=\"" . $_SERVER['PHP_SELF'] . "?slet=" . $file . "\">Slet billede</a></td> </tr> </table> <br />\n"; } } closedir($dh); } } }else{ if(file_exists($dir . $_GET['slet'])){ unlink($dir . $_GET['slet']); echo "Filen: " . $_GET['slet'] . " blev slettet. <a href=\"" . $_SERVER['PHP_SELF'] . "\">Gå tilbage</a>"; }else{ echo "Filen: " . $_GET['slet'] . " findes ikke. <a href=\"" . $_SERVER['PHP_SELF'] . "\">Gå tilbage</a>"; } } ?>
Annonceindlæg tema
18. november 2008 - 19:57
#1
Hvis mappen slette fint nok, men ikke filen, så skal du tjekke om unlink() har korrekt navn på filen og hvad resultatet er af kaldet til filen.
18. november 2008 - 20:03
#2
Mappen sletter ikke, Men det skal den heller ikke, først vælges der hvilken mappe i mappen "billeder" der skal slettes fra, og så listes filerne op med navn og billede samt en knap "slet billede" og det er her der ikke sker noget, så et eller andet sted får jeg nok ikke den korrekte sti med, kan bare ikke se hvor.
18. november 2008 - 20:08
#3
Prøv: }else{ if(is_file($dir . $_GET['slet'])){ if(is_writable($dir . $_GET['slet'])) { if(unlink($dir . $_GET['slet'])) { echo"Fil slettet"; }else{ echo"Fil er ikke slettet!"; } }else{ echo"Der ikke skriverettigheder til ".$dir . $_GET['slet']; } }else{ echo"Fil findes ikke! ".$dir . $_GET['slet']; }
18. november 2008 - 20:20
#4
Den returnere "Parse error: parse error, unexpected $ " i linie 68 men der er kun 68 linier og hvis jeg sætter en tom linie mere på så er det linie 69 der er gal ???
18. november 2008 - 20:37
#5
Måske: }else{ if(is_file($dir . $_GET['slet'])){ if(is_writable($dir . $_GET['slet'])) { if(unlink($dir . $_GET['slet'])) { echo"Fil slettet"; }else{ echo"Fil er ikke slettet!"; } }else{ echo"Der ikke skriverettigheder til ".$dir . $_GET['slet']; } }else{ echo"Fil findes ikke! ".$dir . $_GET['slet']; } } // END if(!isset($_GET['slet'])){
18. november 2008 - 20:38
#6
eller, arghh, måske det er bøf med brugen af " og ' ????
18. november 2008 - 20:43
#7
njahh, det virker for mig på windåze: if(!isset($_GET['slet'])){ //.............. }else{ if(is_file($dir . $_GET['slet'])){ if(is_writable($dir . $_GET['slet'])) { if(unlink($dir . $_GET['slet'])) { echo"Fil slettet"; }else{ echo"Fil er ikke slettet!"; } }else{ echo"Der ikke skriverettigheder til ".$dir . $_GET['slet']; } }else{ echo"Fil findes ikke! ".$dir . $_GET['slet']; }
18. november 2008 - 20:44
#8
For heklvede da:::::::: if(!isset($_GET['slet'])){ echo"OK"; }else{ if(is_file($dir . $_GET['slet'])){ if(is_writable($dir . $_GET['slet'])) { if(unlink($dir . $_GET['slet'])) { echo"Fil slettet"; }else{ echo"Fil er ikke slettet!"; } }else{ echo"Der ikke skriverettigheder til ".$dir . $_GET['slet']; } }else{ echo"Fil findes ikke! ".$dir . $_GET['slet']; } }
18. november 2008 - 20:44
#9
Jeg tjekker lidt senere, serveren på mit webhotel, har lige lagt sig på ryggen :-(
18. november 2008 - 21:22
#10
Nu fik jeg det vist nok til at virke men nu får jeg denne her i hovedet, Forbidden You don't have permission to access /images/billeder/personale/ on this server. Og det kan jeg da ikke forstå, alle aktuelle mapper (og filer) sat til 777
18. november 2008 - 21:25
#11
Måske du skal have den fulde sti på..
18. november 2008 - 21:27
#12
Den ser sådan her ud nu: <?php $mappe = $_REQUEST["mappe"]; echo "Du har valgt at slette billeder fra mappen $mappe.<br><br><br>"; $dir = "./../images/billeder/$mappe/"; // Mappe med billeder if(!isset($_GET['slet'])){ if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if($file != "." && $file != ".."){ echo " <table width='250'> <tr> <td width='150'>$file</td> <td width='50'><img src=./../images/billeder/$mappe/$file width=50 height=50 border=0> </td> <td width='50'><a href=./../images/billeder/$mappe/ '?slet=' $file >Slet billede</a></td> </tr> </table> <br />\n"; } } closedir($dh); } } }else{ if(file_exists($dir . $_GET['slet'])){ unlink($dir . $_GET['slet']); echo "Filen: " . $_GET['slet'] . " blev slettet."; }else{ echo "Filen: " . $_GET['slet'] . " findes ikke."; } } ?>
17. april 2009 - 23:08
#13
Lukker
Vi tilbyder markedets bedste kurser inden for webudvikling