08. juni 2008 - 00:56
Der er
7 kommentarer
Slette fil fra mappe
Hej Jeg har et billed script. hvor jeg kan upload og liste billeder.. Jeg gemmer informationer i mysql databasen. Nu vil jeg gerne slette dem igen. Jeg har heller ikke problemer med at slette i databasen, men jeg vil os gerne slette selve fil som ligger på ftp serveren:). Hvordan gør jeg det?
Koden:
<?php
session_start();
if(isset($_SESSION['bruger']['bnavn'])) {
include 'menu.html'; //henter menuen
include 'db_connect.php'; //Conneter til databasen/mysql
if($slet) {
$sletquery = mysql_query("delete from billeder where id='$id'");
}
echo "<h2> Billeder</h2>";
$sql = "SELECT * FROM billeder ORDER BY id DESC";
$query = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($query) == 0){ echo "Der er ingen billeder tilføjet!"; }
else {
while($row = mysql_fetch_assoc($query)){
$id = $row['id'];
$dato = $row['dato'];
$billed = $row['adminbilleder'];
$beskrivelse = $row['beskrivelse'];
$udgiver = $row['udgiver'];
echo"<table border='1' cellspacing='5'>";
echo"<tr>";
echo"<td><b>Fil navn:</b></td>";
echo"<td><b>Oprettet af::</b></td>";
echo"<td><b>Beskrivelse:</b></td>";
echo"<td><b>Dato:</b></td>";
echo"<td><b>ID Nummer:</b></td>";
echo"</tr>";
echo"<tr>";
echo"<td>$billed</td>";
echo"<td>$udgiver</td>";
echo"<td>$beskrivelse</td>";
echo"<td>$dato</td>";
echo"<td>$id</td>";
echo"</tr>";
echo"<tr>";
echo"<td><img src='opbilled/$billed' width='100' height='100' align='bottom' alt=''></td>";
echo"</tr>";
echo"</table>";
}
$billeder = mysql_num_rows($query);
echo "<br><br><div>Der er tilføjet $billeder billeder!</div>";
echo "<form action='visbilled.php'>";
echo "Skrev det ID du vil slette og tryk på 'Slet'<br>";
echo "<input type='text' name='id'>";
echo "<input type='submit' name='slet' value=' - Slet - '>";
echo "</form>";
}
}
?>
Kan du ikke tilføje det til koden?.. Den sletter fint fra db, men jeg er ikke helt med på hvordan det andet skal gøres med den funk..
Du skal lave dette:
if($slet) {
$sletquery = mysql_query("delete from billeder where id='$id'");
}
Om til dette:
if($slet) {
$sql = "SELECT adminbilleder FROM billeder WHERE id = '" . $id . "'";
$query = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
$billed = $row['adminbilleder'];
unlink("/opbilled/" . $billed);
}
$sletquery = mysql_query("delete from billeder where id='$id'");
}
Det er lidt svært at hjælpe dig, når du ikke kommer med fejlmeddelse.
Prøv dette:
if($slet) {
$id = $_POST["id"];
$sql = "SELECT adminbilleder FROM billeder WHERE id = '" . $id . "'";
$query = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
$billed = $row['adminbilleder'];
unlink("opbilled/" . $billed);
}
$sletquery = mysql_query("DELETE FROM billeder WHERE id = '" . $id . "'");
}
De giver begge denne fejl:
Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is 89652 is not allowed to access / owned by uid 0 in /web/www/frac/users/c/ccms/visbilled.php on line 27
Undskyld der er gået så lang tid
Jeg får denne fejl:
Warning: unlink(../opbilled/junta gruppen.jpg) [function.unlink]: No such file or directory in /web/www/frac/users/c/ccms/admin/visbilled.php on line 12
<?php
Men når jeg opdatere siden har den slette filen både fra mappen og fra databasen..
session_start();
Nu ser koden sådan her ud:
if(isset($_SESSION['bruger']['bnavn'])) {
include 'menu.html'; //henter menuen
include 'db_connect.php'; //Conneter til databasen/mysql
if($slet) {
$sql = "SELECT adminbilleder FROM billeder WHERE id = '" . $id . "'";
$query = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
$billed = $row['adminbilleder'];
unlink("../opbilled/" . $billed);
}
$sletquery = mysql_query("delete from billeder where id='$id'");
}
echo "<html>";
echo "<head>";
echo "<link rel='stylesheet' type='text/css' href='style.css'>";
echo "</head>";
echo "<body>";
echo "<h2> Billeder</h2>";
echo "</body>";
echo "</html>";
$sql = "SELECT * FROM billeder ORDER BY id DESC";
$query = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($query) == 0){ echo "Der er ingen billeder tilføjet!"; }
else {
while($row = mysql_fetch_assoc($query)){
$id = $row['id'];
$dato = $row['dato'];
$billed = $row['adminbilleder'];
$beskrivelse = $row['beskrivelse'];
$udgiver = $row['udgiver'];
echo"<table border='1' cellspacing='5' width='300' height='250'> ";
echo"<tr width='300' height='10'>";
echo"<td><b>Fil navn:</b></td>";
echo"<td><b>Oprettet af::</b></td>";
echo"<td><b>Beskrivelse:</b></td>";
echo"<td><b>Dato:</b></td>";
echo"<td><b>ID Nummer:</b></td>";
echo"</tr>";
echo"<tr width='300' height='10'>";
echo"<td>$billed</td>";
echo"<td>$udgiver</td>";
echo"<td>$beskrivelse</td>";
echo"<td>$dato</td>";
echo"<td>$id</td>";
echo"</tr>";
echo"<tr width='100' height='100'> ";
echo"<td><img src='opbilled/$billed' width='100' height='100' align='bottom' alt=''></td>";
echo"</tr>";
echo"</table>";
}
//Vi sætter $nyheder til så mange nyheder der er tilføjet!
$billeder = mysql_num_rows($query);
echo "<br><br><div>Der er tilføjet $billeder billeder!</div>";
echo "<form action='visbilled.php'>";
echo "Skrev det ID du vil slette og tryk på 'Slet'<br>";
echo "<input type='text' name='id'>";
echo "<input type='submit' name='slet' value=' - Slet - '>";
echo "</form>";
}
}
?>
Vi tilbyder markedets bedste kurser inden for webudvikling