Avatar billede caand Nybegynder
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>";

}
}
?>
Avatar billede henninghabor Nybegynder
08. juni 2008 - 01:16 #1
Du skal bruge unlink() funktionen, der kræver at du kender filens navn og extension.

http://dk2.php.net/manual/en/function.unlink.php
Avatar billede caand Nybegynder
08. juni 2008 - 16:34 #2
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..
Avatar billede henninghabor Nybegynder
08. juni 2008 - 19:46 #3
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'");
}
Avatar billede caand Nybegynder
08. juni 2008 - 19:51 #4
Det virker ikke:(
Avatar billede henninghabor Nybegynder
08. juni 2008 - 20:27 #5
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 . "'");
}
Avatar billede caand Nybegynder
09. juni 2008 - 00:12 #6
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
Avatar billede caand Nybegynder
19. juni 2008 - 17:35 #7
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>";

}
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester