Mike Rofon
Erfahrenes Mitglied
Mir ist grad aufgefallen, daß mein Bilder-Upload-Script die Datei-Rechte für die Bilder auf 600 setzt. Somit krieg ich beim Zugriff auf die Dateien per FTP ständig den Fehler 550 Permission denied. Ich kann die Dateien nicht mal runterladen, geschweige denn betrachten.
Ich würd aber die Dateien auch umbenennen und löschen dürfen, also wie setzt man beim Upload automatisch die richtigen Rechte
JAAA ich weiß ... mit chmod(), aber wenn die Bilder einmal hochgeladen sind isses doch zum Rechte setzen zu spät.... ich lad mit dem Script ein Bild hoch und wenn ich es im FTP-Programm ankommen sehe, sind die Rechte schon auf 600 gestellt.
Und wenn mir jemand sagen will: Lad sie doch mit FTP hoch ... gute Idee, Haken dabei ist: Das ganze ist ein CMS-Backend, da bearbeiten mehrere Redakteure, aber FTP-Zugang gibts nur einen bei diesem Webspace-Anbieter. Deshalb Bilder-Upload per PHP.
also ... wo und wie muß hier das Rechte setzen rein?
Ich würd aber die Dateien auch umbenennen und löschen dürfen, also wie setzt man beim Upload automatisch die richtigen Rechte
JAAA ich weiß ... mit chmod(), aber wenn die Bilder einmal hochgeladen sind isses doch zum Rechte setzen zu spät.... ich lad mit dem Script ein Bild hoch und wenn ich es im FTP-Programm ankommen sehe, sind die Rechte schon auf 600 gestellt.
Und wenn mir jemand sagen will: Lad sie doch mit FTP hoch ... gute Idee, Haken dabei ist: Das ganze ist ein CMS-Backend, da bearbeiten mehrere Redakteure, aber FTP-Zugang gibts nur einen bei diesem Webspace-Anbieter. Deshalb Bilder-Upload per PHP.
PHP:
$tempname = $_FILES['sbild']['tmp_name'];
$name = $_FILES['sbild']['name'];
$type = $_FILES['sbild']['type'];
$size = $_FILES['sbild']['size'];
if ($tempname) {
if($type != "image/gif" && $type != "image/pjpeg") { $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";}
if($size > $maxbildsize) {$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt $maxbildsize !";}
if(empty($err)) {
move_uploaded_file("$tempname", "bilder/s-$name");
echo "Das Bild <b>$name</b> wurde erfolgreich hochgeladen!";
$bildurl = "bilder/s-".$name;
$logo = $bildurl;
} else {
foreach($err as $error)
echo "$error<br>";
}
} else {
$logo = $bild;}