31. juli 2003 - 20:08
Der er
25 kommentarer og 1 løsning
Slette billede?
Hej .. Jeg har følgende script: <table cellpadding="0" cellspacing="0" width="100%"> <? $dir = "enkelt/drenge/"; if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"></td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?=$file?> </div> </td> </center> </tr> </table> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> </table> Hvordan kan jeg gøre når den henter navnet på billedet at den så ikke tager ".jpg",".gif" osv med? .. og kan i lave så man man trykke slet lige efter navnet at den så sletter billede i mappen ? Håber der er nogle der kan hjælpe?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Til at slette med kan du lave et link, med noget ala href='side.php?action=delpic&name=navn, og så bruge unlink(path . name) til at fjerne det med. Du kan bruge explode(".", $file) så får du et array opdelt af punktumerne (eks. test.gif giver array(test, gif)).
kan du ikke lave det i mit script? det ville være helt perfekt.. er ikke den bedste til php endnu ://// ?
Få filnavnet uden endelse: Kaldes ved GetFileName($file) function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part)-1;$i++) { $file = $file . $part[$i]; } return $file; } Indsæt et link ved siden af filnavnet med href='side.php?action=delpic&name=$file og indsæt følgende i topen af siden: if($_GET["action"] == "delpic") { if(file_exists($dir . $_Get["name"])) { @unlink($dir . $_Get["name"]); header("Location: side.php"); } }
function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part)-1;$i++) { $file = $file . $part[$i]; } return $file; } skal ind mellem her? : <td align="center" width="25%"> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"></td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?=$file?> </div> </td> </center> </tr> </table> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> </table>
vil du ikke være sød og sætte det ind i mit script.. det ville være så perfekt :D!!
nej, den kan du bare placere oppe i toppen af siden. <?php $dir = "enkelt/drenge/"; function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part)-1;$i++) { $file = $file . $part[$i]; } return $file; } if($_GET["action"] == "delpic") { if(file_exists($dir . $_Get["name"])) { @unlink($dir . $_Get["name"]); header("Location: side.php"); } } ?> <table cellpadding="0" cellspacing="0" width="100%"> <? if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="[navnet på siden].php?action=delpic&name=<?php echo $file?>">Slet</a></td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?=$file?> </div> </td> </center> </tr> </table> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> </table>
Den henter fint billeder og skriver slet osv. men når jeg trykker slet er det bare som om den opdatere siden og ikke gør noget ved det? <?php $dir = "enkelt/drenge/"; function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part)-1;$i++) { $file = $file . $part[$i]; } return $file; } if($_GET["action"] == "delpic") { if(file_exists($dir . $_Get["name"])) { @unlink($dir . $_Get["name"]); header("Location: test.php"); } } ?> <table cellpadding="0" cellspacing="0" width="100%"> <? if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="test.php?action=delpic&name=<?php echo $file?>">Slet</a></td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?=$file?> </div> </td> </center> </tr> </table> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> </table>
fjern @ foran unlink og sæt // foran header("...
og fortæl mig hvad der så sker...
31. juli 2003 - 20:51
#10
så kommer den med "Warning: Unlink failed (Operation not permitted) in /usr/www/vix-mix_dk/public_html/drukland/test.php on line 18"
31. juli 2003 - 20:52
#11
der er fordi du ikke har retigheder til at slette filen.... Prøv at ændre chmod for mappen til 0777...
31. juli 2003 - 20:53
#12
@ betyder blot at evt fejl og advarelser ikke bliver skrevet ud...
31. juli 2003 - 20:56
#13
altså 0777 eller 077 eller 777 ?
31. juli 2003 - 20:58
#14
prøv 0777 først.. Retigheder er ikke min stærke side. :(
31. juli 2003 - 20:59
#15
0777 bliver bare lavet om til 777 - og den samme fejl er der stadig :/
31. juli 2003 - 21:00
#16
og forresten virker det med jpg heller ikke ://// <?php $dir = "enkelt/drenge/"; function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part)-1;$i++) { $file = $file . $part[$i]; } return $file; } if($_GET["action"] == "delpic") { if(file_exists($dir . $_Get["name"])) { unlink($dir . $_Get["name"]); //header("Location: test.php"); } } ?> <table cellpadding="0" cellspacing="0" width="100%"> <? if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="test.php?action=delpic&name=<?php echo $file?>">Slet</a></td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?=$file?> </div> </td> </center> </tr> </table> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> </table>
31. juli 2003 - 21:01
#17
Hvad for noget jpg??? Er ikke helt med.
31. juli 2003 - 21:02
#18
dooh, har lavet en lille fejl $_Get skal rettes til $_GET
31. juli 2003 - 21:04
#19
Ja sådan :D.. perfekt.. det med at den stadig skriver JPG bag efter file navn :)
31. juli 2003 - 21:06
#20
Hvor skriver du navnet på filen hende??? Der skal du blot kalde GetFileName funktionen....
31. juli 2003 - 21:09
#21
Jamen nu ser det sådan her ud: <?php $dir = "enkelt/drenge/"; function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part)-1;$i++) { $file = $file . $part[$i]; } return $file; } if($_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); //header("Location: test.php"); } } ?> <table cellpadding="0" cellspacing="0" width="100%"> <? if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="test.php?action=delpic&name=<?php echo $file?>">Slet</a></td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?=$file?> </div> </td> </center> </tr> </table> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> </table> forstår ikke lige hvad du mener .P
31. juli 2003 - 21:11
#22
heh, havde ikke lige set der hvor du skriver filnavnet ud. Undskyld :(. Ret <?=$file?> til <?php echo GetFileName($file); ?>. Lige et tip, brug <?php i stedet for <?.
31. juli 2003 - 21:15
#23
ja det plejer jeg som regel os :).. men skulle bare lige lave dette som et test hurtigt.. men det virker jo perfekt.. så det kan jeg sagtens bruge.. tusind tusind tak for hjælpen.. det hele funker som det skal .. vil du ikke have points eller ? :))
31. juli 2003 - 21:17
#24
Det jeg da gerne. Det var lækkert at kunne hjælpe dig...
31. juli 2003 - 21:24
#25
det var os lækkert at der var en der gad/kunne ;D
31. juli 2003 - 21:31
#26
-lukket-
Vi tilbyder markedets bedste kurser inden for webudvikling