UnLink Error!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • UnLink Error!

    Hey,
    ich habe ein script gebastelt, dass erstens eine Datei aus der Datenbank löschen soll (funktioniert) und zweitens die dazugerhörige datei aus dem Ordner löschen, z.B ein Bild (funktioniert nicht)

    Hier die Fehlermeldung:
    Code:
    Warning: unlink() [function.unlink]: No error in ...\user\foto_del.php on line 41
    und hier ist das Script dazu:

    PHP-Code:
    <?php require_once('Connections/Mog.php'); ?>
    <?php
    function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

      switch (
    $theType) {
        case 
    "text":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;    
        case 
    "long":
        case 
    "int":
          
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case 
    "double":
          
    $theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
          break;
        case 
    "date":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;
        case 
    "defined":
          
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
          break;
      }
      return 
    $theValue;
    }

    if ((isset(
    $_GET['id'])) && ($_GET['id'] != "")) {
      
    $deleteSQL sprintf("DELETE FROM graffiti WHERE id=%s",
                           
    GetSQLValueString($_GET['id'], "int"));

      
    mysql_select_db($database_Mog$Mog);
      
    $Result1 mysql_query($deleteSQL$Mog) or die(mysql_error());

      
    $deleteGoTo "index.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $deleteGoTo .= (strpos($deleteGoTo'?')) ? "&" "?";
        
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
      }

    // Hier soll die Datei aus dem Ordner gelöscht werden


    $dateiname=$row_delgraffiti['url'];
    unlink($dateiname); 
    ?>
    <meta http-equiv="refresh" content="0;URL=index.php?kad=graffiti">
    <?
    }

    $colname_delgraffiti = "1";
    if (isset($_GET['id'])) {
      $colname_delgraffiti = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
    }
    mysql_select_db($database_Mog, $Mog);
    $query_delgraffiti = sprintf("SELECT * FROM graffiti WHERE id = %s", $colname_delgraffiti);
    $delgraffiti = mysql_query($query_delgraffiti, $Mog) or die(mysql_error());
    $row_delgraffiti = mysql_fetch_assoc($delgraffiti);
    $totalRows_delgraffiti = mysql_num_rows($delgraffiti);

    mysql_free_result($delgraffiti);
    ?>

  • #2
    was steht in $row_delgraffiti['url'];?

    Kommentar


    • #3
      Da drinn steht der Pfad zum bild...also z.B /user/bilder/datei.jpg

      hilft dir das?

      Kommentar


      • #4
        Die Bilder liegen nicht zufällig unter
        http://deineDomain.de/user/bilder/datei.jpg ?
        Hast du mal das folgende versucht
        PHP-Code:
        unlink($_SERVER['DOCUMENT_ROOT'].$row_delgraffiti['url']); 
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Hab es hin bekommen! Danke für eure Hilfe!

          Kommentar


          • #6
            Für die Zukunft noch ein Tipp: unlink führt eine Operation auf dem Dateisystem durch. Daher kann ein Pfad wie er in einer URL gebräuchlich ist nicht verwendet werden. Über einen Pfad in einer URL greifst du via Webserver auf die Datei zu. Und wenn du so Dateien löschen könntest wäre das nicht gut, oder ?
            Zum Löschen von Dateien brauchst du direkten Zugriff auf das Filesystem.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X