"We are back" « oc.at

PHP - Kann Datei nicht mehr löschen!?

Edi666 19.06.2002 - 03:54 602 6
Posts

Edi666

Bloody Newbie
Avatar
Registered: Nov 2001
Location: Wien
Posts: 19
Hab ein komisches Problem: Ich lade mit meinem Script mittels eines HTML-Formulars einige Dateien (Bilder) in ein bestimmtes Verzeichnis auf meinem Webspace. Das funktioniert ja soweit ->>>
Code: PHP
while($thefile_name[$counter] != "") { 
if(!copy($thefile[$counter],"albums/$gal_name/$thefile_name[$counter]")){ echo "Fehler beim kopieren!<br>"; } 
$counter++; 
} 
... aber leider lassen sich die Dateien nicht mehr löschen, weder mit unlink("albums/$gal_name/$thefile[$counter]"); noch per FTP (permission denied).
Was mach ich da falsch?

THX für alle Tips
Mfg Edi666
Bearbeitet von Edi666 am 19.06.2002, 20:13

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3518
check mal die Permissions des Files direkt am Server, vielleicht stimmt was nicht...

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Beim upload der files bekommt der WebServer die Rechte der Datei, das heißt du kannst sie nicht mehr ändern. Deshalb musst du vor dem unlinken mit dem PHP-Script sicher gehen des die Permission auf 0777 steht, damit das PHP-Script (was unter der UID vom WebServer läuft) auch die Datei löschen kann!

Mfg, Vir@s

Edi666

Bloody Newbie
Avatar
Registered: Nov 2001
Location: Wien
Posts: 19
Habs mit diesem Skript (war eigentlich für was anderes) löschen können!
Aufruf mit: delete.php?album=verzeichnisname

Code: PHP
$handle=opendir("albums/$album");
   $colcounter = 0;
   
   while (($file = readdir($handle)) != '') {
      if (preg_match("/.*\.jpg/i",$file) 
        /* and !preg_match("/__scaled_/",$file) */
         ) 
         { 
         $filelist[] = $file;
      }
   }
   rewinddir($handle);
   while (($file = readdir($handle)) != '') {
      if (is_dir($realbase . "/$album/" . $file)
            and $file != "."
            and $file != ".."
            )
         { 
            $dirlist[] = $file;
         }
   }
   is_array($dirlist) and sort($dirlist);
   is_array($filelist) and sort($filelist);
   $totalfiles = sizeof($filelist);

   for($i=0;$i<$totalfiles;$i++)
   {
     echo $filelist[$i]," wurde gelöscht<br>";
     unlink("albums/$album/$filelist[$i]");
   }

   rmdir("albums/$album");
   echo "<br><br>Verzeichnis albums/$album wurde gelöscht!";

Wie kann ich die Dateien aber von vornherein so auf den Webspace kopieren sodaß sie auch per FTP löschbar sind. Muß ich mich da im Skript als User einloggen, und wenn ja, wie?

THX, Edi666

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Naja is auch ein weg :)

Wenn du sie per FTP raufladest und die Rechte so setzt dass auch andere User drauf zugreifen/lesen können dann brauchst du deinen User nicht verändern.

Einfach dei File-Permission im FTP auf 0777 setzten!

Mfg, Vir@s

Edi666

Bloody Newbie
Avatar
Registered: Nov 2001
Location: Wien
Posts: 19
Ich würd das ganze aber gern mit HTTP-Upload machen, sodaß ich aus einem Webformular heraus Fotos uploaden kann und die gleich in der Datenbank eingetragen werden. Geht das nicht?

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Doch sicha nur dann mach entweder ein chown oder chmod auf die Datei. Dafür gibt es eh Funktionen in PHP!

http://www.php.net/manual/en/function.chown.php
http://www.php.net/manual/en/function.chmod.php
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz