18. oktober 2005 - 09:49
Der er
18 kommentarer og 1 løsning
slette billede fra server
Hej jeg har en hjemmeside på b-one jeg har så en nyheds upload hvor der også kommer et billede men hvis jeg nu vil slette nyhed og billedet så kan jeg godt slette nyheden fra databasen men ikke billedet mappen er chmoddet koden: <? session_start(); if($_SESSION['user_level'] == 1){ include("db.php"); $slet = $_POST["slet"]; $pic = $_POST["pic"]; $dir = "images/news/large"; echo"$pic"; echo"$slet"; if(isset($pic)) { unlink("images/news/large/$pic"); } mysql_query("DELETE FROM nyheder WHERE dato='$slet'"); echo"Nyheden er nu slettet"; echo "<br/><a href=../vis_nyhed.php>gå til nyheder</a>"; } ?> hvad er der galt?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
18. oktober 2005 - 09:50
#1
hvis jeg prøver at lave et link til billedet kan den godt vise det på slette siden men den sletter det bare ikke
18. oktober 2005 - 09:53
#2
Hvordan kommer billedet på serveren? Hvis det er et upload, bruger du så chmod() efter upload?
18. oktober 2005 - 09:58
#3
ja jeg bruger en form til at uploade det og nej jeg chmnodder det ikke men har prøvet at gå ind vis ftp og chmodde det men det virker heller ikke
18. oktober 2005 - 10:00
#4
Når billedet er uploadet, kan du bruge chmod("billede", 0777); Ved ik' lige hvor lidt du kan nøjes med, men 0777 giver alle, alle rettigheder til billedet. Så burde dit script også kunne slette det.
18. oktober 2005 - 10:01
#5
prøver lige
18. oktober 2005 - 10:07
#6
kan ikke få den chmoddet med det
18. oktober 2005 - 10:08
#7
har prøvet at lave det om til if(isset($pic)) { chmod("images/news/large/$pic", 0777); unlink("images/news/large/$pic"); }
18. oktober 2005 - 10:09
#8
Det er ved upload du skal bruge chmod, da det er det script som "ejer" filen
18. oktober 2005 - 10:12
#9
oki det virkede nu da jeg satte det ind i upload scriptet og den bliver også chmoddet men filen ligger der stadig efter jeg har kørt slette scriptet
18. oktober 2005 - 10:18
#10
kan det være fordi b-one køre i safe mode?
18. oktober 2005 - 10:23
#11
har lige snakket med b-one support eller chattet :D de siger at den function bliver slået fra når man kører i safe mode æv bæv men syndes du skal have nogle point fordi du prøvede så smid et svar er der evt andre måder man kan slette på?
18. oktober 2005 - 13:22
#12
? function slået fra? unlink() ??? Så vidt jeg ved, skulle der ikke være noget bøvl hvis du definerer den fulde sti til billedet. F.eks. unlink($_SERVER["DOCUMENT_ROOT"] ."/images/news/large/". $pic); Hvis der er, så find dig et andet host med det samme!
18. oktober 2005 - 14:14
#13
ja han sagde at unlink ikke virkede når sage mode var sat til på serveren
18. oktober 2005 - 17:04
#14
Find du dig bare et andet host du! Har selv et domain med safe mode on, og kan sgu sagtens slette en fil som er blevet uploadet. Men ok, måske de har været mega paranoide og disablet unlink() i php.ini? Et link til en info fil vil jeg da gerne se <?php phpinfo(); ?>
19. oktober 2005 - 10:39
#15
har desvære ikke det link mere. er det ikke noget med at når man har safe mode on så skal det være samme dokument som der opretter der også skal slette?
19. oktober 2005 - 10:43
#16
nu har jeg prøvet med din kode men det virker stadig ikke :( <? session_start(); if($_SESSION['user_level'] == 1){ include("db.php"); $slet = $_POST["slet"]; $pic = $_POST["pic"]; $dir = "images/news/large"; echo"$pic"; echo"$slet"; if(isset($pic)) { unlink($_SERVER["DOCUMENT_ROOT"] ."includes/images/news/large/". $pic); } mysql_query("DELETE FROM nyheder WHERE dato='$slet'"); echo"Nyheden er nu slettet"; echo "<br/><a href=../vis_nyhed.php>gå til nyheder</a>"; } else{ echo"fejl"; } ?>
19. oktober 2005 - 10:44
#17
har du fået pointene?
19. oktober 2005 - 11:05
#18
næh, ingen point. Men prøv lige dette: $moveto er underdir til scriptet Hvis $moveto IKKE er et underdir, skal den fulde sti defineres <?php ini_set('error_reporting', "E_ALL"); ?> <html><head><title>Test for upload og sletning</title></head> <body> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data"> <input name="upfile" type="file" size="32"><br> <input type="submit" value="Upload"> </form> <?php $moveto = "images/test/"; if (isset($_FILES["upfile"])) { if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $moveto . $_FILES["upfile"]["name"])) { chmod($moveto . $_FILES["upfile"]["name"], 0777); echo"Filen ". $_FILES["upfile"]["name"] ." er blevet uploadet.<br />\r\n"; echo"<a href=\"". $_SERVER["PHP_SELF"] ."?del=". $_FILES["upfile"]["name"] ."\">Slet filen</a>"; } } if (isset($_GET["del"])) { if(false != unlink($moveto . $_GET["del"])) { echo"Filen er slettet"; }else{ echo"Fejl ved sletning af fil!"; } } ?> </body></html>
07. november 2005 - 11:53
#19
okay det vil jeg lige prøve
Vi tilbyder markedets bedste kurser inden for webudvikling