PHP - Kann Datei nicht mehr löschen!?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_kann_datei_nicht_mehr_loeschen_38453/page_1 - zur Vollversion wechseln!


Edi666 schrieb am 19.06.2002 um 03:54

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


jb schrieb am 19.06.2002 um 06:07

check mal die Permissions des Files direkt am Server, vielleicht stimmt was nicht...


Vir@s schrieb am 19.06.2002 um 09:26

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 schrieb am 19.06.2002 um 14:34

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 schrieb am 19.06.2002 um 16:36

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 schrieb am 19.06.2002 um 20:16

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 schrieb am 19.06.2002 um 21:45

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




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026