19. oktober 2003 - 22:50
Der er
28 kommentarer og 1 løsning
Slette script
Hmmm var måske lidt for hurgtig igår da jeg accepterede et svar om at slette en fil med php. Jeg har det her script som først skal slette en fil i et dir og efter slette en post i db. slet i db går fint men filen bliver ikke fjernet er der nogen der kan se hvad fejlen er mit upload dir er chmod 777 og kan fanges på 2 måder /home/administrator/www/upload/filer og ../upload/filer/ echo[sti]; den udskriver filnavnet samt extension jeg får denne her fejl hvergang jeg prøver Warning: Unlink failed (Is a directory) in /home/administrator/www/field/test.php on line 20 her er scriptet <?PHP include("dbconnect.php"); $slet = $_POST['test']; $res = mysql_query("SELECT sti FROM fil_downloads") or die(mysql_error()); echo "<form action='test.php' method='POST'>"; echo "<select name='test'>"; while ($row = mysql_fetch_array($res)) { echo "<option>$row[sti]</option>"; } echo "<input type='submit' name='send' value='slet'>"; echo "</select>"; echo "</form>"; if($_POST['send']) { unlink("../upload/filer/$row[sti]"); mysql_query("DELETE FROM fil_downloads where sti = '$slet'") or die(mysql_error()); } ?>
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.
19. oktober 2003 - 22:53
#1
unlink("../upload/filer/$_POST[test]");
19. oktober 2003 - 22:54
#2
eller unlink("../upload/filer/$let");
19. oktober 2003 - 22:59
#3
du er en tålmodig mand erikj. Det virker men der en lille bug endnu efter sletning af fil og post, står filen stadig select boksen indtil jeg sletter den næste, men så er de den der står . Kan man ikke få siden til at refreshe efter sletning af filen :-?
19. oktober 2003 - 23:00
#4
if($_POST['send']) { unlink("../upload/filer/$let"); mysql_query("DELETE FROM fil_downloads where sti = '$slet'") or die(mysql_error()); } Flyt den op før din while-løkke.
19. oktober 2003 - 23:00
#5
sorry efter sletning i db altså f($_POST['send']) { unlink("../upload/filer/$row[sti]"); mysql_query("DELETE FROM fil_downloads where sti = '$slet'") or REFRESH die(mysql_error());
19. oktober 2003 - 23:01
#6
faktisk før din query
19. oktober 2003 - 23:02
#7
hjalp ikke :-(
19. oktober 2003 - 23:02
#8
prøver lige det
19. oktober 2003 - 23:02
#9
Vis koden!
19. oktober 2003 - 23:02
#10
Noget helt andet: echo "<select name='test'>"; while ($row = mysql_fetch_array($res)) { echo "<option>$row[sti]</option>"; } echo "<input type='submit' name='send' value='slet'>"; echo "</select>"; echo "</form>"; Hvordan kan man have en submit-knap mellem to select-tags?
19. oktober 2003 - 23:03
#11
hjalp heller ik
19. oktober 2003 - 23:04
#12
Tænk på at lave dine PHP-sider efter denne recept: 1) Lad os nu se hvad der skal gøres, og så få det overstået 2) Kaffepause 3) Hvad skal vi nu finde på at vise til brugeren Kaffepausen er ikke strengt nødvendigt, men er blot med for at holde de 2 ting adskilt ;)
19. oktober 2003 - 23:04
#13
hmm en lille fejl :-O
19. oktober 2003 - 23:04
#14
<?PHP if($_POST['send']) { unlink("../upload/filer/$slet"); mysql_query("DELETE FROM fil_downloads where sti = '$slet'") or die(mysql_error()); } include("dbconnect.php"); $slet = $_POST['test']; $res = mysql_query("SELECT sti FROM fil_downloads") or die(mysql_error()); echo "<form action='test.php' method='POST'>"; echo "<select name='test'>"; while ($row = mysql_fetch_array($res)) { echo "<option>$row[sti]</option>"; } echo "</select>"; echo "<input type='submit' name='send' value='slet'>"; echo "</form>"; ?>
19. oktober 2003 - 23:05
#15
Du skal bytte om på de 2 linier her: (selv om det sikkert virker alligevel) echo "<input type='submit' name='send' value='slet'>"; echo "</select>";
19. oktober 2003 - 23:05
#16
den skal selvfølgelig før din connection
19. oktober 2003 - 23:05
#17
hvad er det der ikke virker nu?
19. oktober 2003 - 23:06
#18
er gjordt :-O
19. oktober 2003 - 23:07
#19
<?php include('dbconnect.php'); if (isset($_POST['send'])) { $slet = $_POST['test']; unlink("../upload/filer/$let"); mysql_query("DELETE FROM fil_downloads WHERE sti='$slet'") or die(mysql_error()); } echo '<form action="test.php" method="post">'; echo '<select name="test">'; $res = mysql_query("SELECT sti FROM fil_downloads") or die(mysql_error()); while ($row = mysql_fetch_array($res)) { echo '<option>'.$row['sti'].'</option>'; } echo '</select>'; echo '<input type="submit" name="send" value="slet">'; echo '</form>'; ?>
19. oktober 2003 - 23:07
#20
at filen man sletter stadig står i select boksen efter man har slettet den :-O
19. oktober 2003 - 23:09
#21
hmmm schaefner Warning: Unlink failed (Is a directory) in /home/administrator/www/field/test.php on line 5 No Database Selected et par fejl :-)
19. oktober 2003 - 23:09
#22
unlink("../upload/filer/$slet");
19. oktober 2003 - 23:11
#23
TAAARK. Nu virker det læg et svar begge
20. oktober 2003 - 21:53
#24
svar'
25. oktober 2003 - 22:43
#25
takker
03. februar 2004 - 22:57
#26
Det er lidt kryptisk at forklare, men jeg prøver.. Er det ikke muligt at slette en fil ($etellerandet) som hedder noget andet end den post man sletter i sin database ? filen der skal slettes (unlink("../galleri/$Pic")) og det der skal slettes i databasen (mysql_query("delete from galleri where Id = '$Id'")) ?? I har kildekoden her: <?php $host = "localhost"; $user = "galleri"; $pass = "galleri"; $db = "galleri"; $Id = $_POST['Id']; $Kat = $_POST['Kat']; $Tpic = $_POST['Tpic']; $Bem = $_POST['Bem']; $Pic = $_POST['Pic']; mysql_connect("$host", "$user", "$pass"); mysql_select_db($db); echo " <title>Galleri Admin</title> <script LANGUAGE='JavaScript'> function admkat() { sider=window.open('kat-in.htm','','width=189,height=220,toolbar=no,location=no,scrollbars=no,status=no,fullscreen=no,resizable=no,top=324,screenY=324,left=436,screenX=436,') } </script> <link rel='stylesheet' type='text/css' href='/css/togbilleder.css'> "; echo " <Form method='post' action='slet.php'> <table width='600' , height='70' align='center' style='border: 1px solid rgb(0,0,0)' class='info-main'> <tr> <td valign='top'><div class='sektion'><table border='0' cellspacing='0' width='100%'> <tr> <td width='100%' align='center' valign='top'><span class='info-Nor'>Slet billede</span></td> </tr> </table> <table border='0' cellspacing='0' width='100%'> <tr> <td width='100%' height='40' align='center' colspan='4'></span><input type='text' name='Kat' size='6' value='".$row['Kat']."'> <span class='tekst'><input type='submit' name='soeg' value='Find Billeder' style='font-family: Century Schoolbook; font-size: 10pt; font-weight: bold'></span></td> </tr> <tr> <td width='100%' height='20' align='center'><span class='info-nor'><a href='java script:admkat()'>Find Kategori</a></span></td> </tr> </table> </div></td> </tr> </table> "; if(isset($_POST['slet'])){ unlink("../galleri/$Tpic"); mysql_query("delete from galleri where Id = '$Id'") or die(mysql_error()); // } else { } elseif(isset($_POST['soeg'])){ $query = mysql_query("select * from galleri where Kat = '$Kat'") or die(mysql_error()); while($row = mysql_fetch_array($query)){ } $query = mysql_query("select * from galleri where Kat = '$Kat'") or die(mysql_error()); echo "<table border='0' cellspacing='0' width='250' align='center'> </form><tr><td width='100%' align='center'><span class='info-Nor'>Kategori Valgt: <B>".$Kat."</B></span></div></td></tr> <table width='650' align='center' style='border: 1px solid rgb(0,0,0)' class='info-slet'> <tr> <td width='25'><span class='info-Nor'>Id</span></td> <td width='150'><span class='info-Nor'>Bemærkning</span></td> <td width='90'><span class='info-Nor'>Filnavn</span></td> <td width='100'><span class='info-Nor'>Thumbnail</span></td> <td width='30'><span class='info-Nor'>Slet</span></td> </tr> </table> <table width='650' align='center' style='border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-bottom: 1px solid rgb(0,0,0)' class='info-slet'>"; while($row = mysql_fetch_array($query)) { echo "<Form method='post' action='slet.php'><tr> <td width='30'><span class='info-Nor'>$row[Id]</span></td> <td width='230'><span class='info-Nor'>$row[Bem]</span></td> <td width='50'><span class='info-Nor'>$row[Pic]</span></td> <td width='100'><span class='info-Nor'><img src='../galleri/$row[Tpic]'></span></td> <td width='30'><span class='info-Nor'><input type='hidden' name='Id' value='$row[Id]'><input type='submit' name='slet' value='Slet billede' class='tekst' style='font-family: Century Schoolbook; font-size: 10pt; font-weight: bold'></span></td> </tr></form>"; } } echo "</table>"; mysql_close(); ?> Jeg ved ikke hvad jeg gør galt, men den sletter ikke filen. stien til mappen hvor filen ligger er korrekt, men den sletter bare ikke filen.
03. februar 2004 - 23:01
#27
Hvor kommer $Tpic = $_POST['Tpic']; fra? Og så forstår jeg ikke den første af dine 2 selectts?
03. februar 2004 - 23:10
#28
Det kan også være det er en fejl, jeg er ikke helt så stiv i det her php og mysql, så det kan godt være det er skrevet forkert.
03. februar 2004 - 23:30
#29
Jeg har fået det til at virke..
Vi tilbyder markedets bedste kurser inden for webudvikling