Bilder vom Server löschen mit unlink

GarGod

Erfahrenes Mitglied
Hallo leute :)
Ich bin dabei eine Gallery zu scripten (meine erste) läuft alles super, bis auf den adminbereich.
Ich speichere die Url zu den Bildern in mysql ab, sowie auch den Namen [bild_name].
Ich hab ein link eingebaut der das bild löschen soll, er löscht es zwar aus der datenbank, aber nicht vom server.
Als fehlermeldung bekomm ich diese: Warning: unlink(): open_basedir restriction in effect. File(/gallery/ugallery/) is not within the allowed path(s): (/usr/local/pem/vhosts/1315) in /usr/local/pem/vhosts/1315/webspace/httpdocs/scp/log.php on line 81.
Kennt jemand ne lösung?


PHP:
case "gallery":
echo "gallery Beabeiten:";
$ankommen=mysql_query("SELECT * FROM sp_gallery WHERE id='$_GET[id]'");
$result=mysql_fetch_array($ankommen);
$result1=mysql_query("SELECT * FROM sp_gallery");
if(isset($_GET[del]))
{
$bilddel1=mysql_query("SELECT bild_name FROM sp_gallery WHERE id='$_GET[del]'");
$sql="DELETE FROM sp_gallery WHERE id='$_GET[del]'";
if(!unlink("/gallery/ugallery/$result[bild_name]") || !unlink("/gallery/utn/$result[bild_name]") ) #line 81
{ 
echo "Konnte die Datei $bilddel1 nicht löschen!"; } 
else { 
echo "Die Datei $result[bild_name] wurde gelöscht!"; } 
} 

if (mysql_query($sql)) {

echo "<p>Bild gelöscht -- &raquo;<a href=\"?section=admin&adminsection=gallery\">Bitte hier clicken</a>!</p>";
echo "</p>";
}

Bevor jemand meckert, ja ich weiß der php code ist nicht sehr sauber. Bin halt noch ein :).
 
Deine Pfadangaben stimmen offensichtlich nicht. Beim Pfad z.B.
wird die Datei aus der Variable nicht angehängt, was mich auch
nicht wundert bei der Art-und-Weise wie du den Code gestaltest.

PHP:
case "gallery":
echo "gallery Beabeiten:";
$ankommen=mysql_query("SELECT * FROM sp_gallery WHERE id='".$_GET['id']."'");
$result=mysql_fetch_array($ankommen);
$result1=mysql_query("SELECT * FROM sp_gallery");
if(isset($_GET['del']))
{
$bilddel1=mysql_query("SELECT bild_name FROM sp_gallery WHERE id='".$_GET['del']."'");
$sql="DELETE FROM sp_gallery WHERE id='".$_GET['del']."'";
if(!unlink("gallery/ugallery/".$result['bild_name']) || !unlink("gallery/utn/".$result['bild_name']) ) #line 81
{
echo "Konnte die Datei $bilddel1 nicht löschen!"; }
else {
echo "Die Datei ".$result['bild_name']." wurde gelöscht!"; }
}
 
Zuletzt bearbeitet:
Bist du sicher, daß der Pfad /gallery/... ist? Es geht hierbei um den absoluten Pfad auf dem Server und nicht den relativen zum htdocs oder dem "Root"-Pfad für deine Webseite..
Das sollte eher was wie /var/www/htdocs/gallery/.. sein.
 
Zurück