copy Fehler

ShishaLiVe

Mitglied
Hallo leute, wenn ich über mein upload Formular eine datei auf denn server hochladen will bekomme ich Folgenen fehler

Warning: copy( ): failed to open stream: Permission denied in /var/www/vhosts/.../httpdocs/sg_neu/main/index.php on line 901
Datei konnte nicht hochgeladen werden.

Der Ordner pic_tmp hat chmod 777



PHP:
case "profil_pic_add":
$max_byte_size = 2097152; 
$allowed_types = "(jpg|jpeg)"; 
$tmp_pic = "../../pic_tmp/";

if($_POST["submit"] == "GO! xD") { 
if(is_uploaded_file($_FILES["file"]["tmp_name"])) { 
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) { 
if($_FILES["file"]["size"] <= $max_byte_size) { 
$img = $_FILES['file']['name'];
if(copy($_FILES ['file']['tmp_name'], "$kategorie $image")){ << 901 zeile
echo "Datei erfolgreich hochgeladen!<br>"; 
echo "Name: " . $_FILES["file"]["name"] . "<br>"; 
echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>"; 
echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>"; 
echo "Link: <a href=\"" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a>"; 
} else { 
echo "Datei konnte nicht hochgeladen werden."; 
} 
} else { 
echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen."; 
} 
} else { 
echo "Die Datei besitzt keine ungültige Endung."; 
} 
} else { 
echo "Keine Datei zum Hochladen angegeben."; 
} 
} else { 
echo "Bitte benutzen Sie das Upload Formular."; 
} 
break;


mfg LiVe
 
Verwende statt copy() lieber [phpf]move_uploaded_file[/phpf]. Die Funktion versichert sich einerseits, dass die Datei aus einem gültigen Uploadformular stammt und ist sich der Restriktionen von safe_mode und open_basedir bewusst (schön zitiert von php.net).

Hast du testweise mal $kategorie und $image ausgeben lassen, ob sie die richtigen Werte haben?

Gibt es dort eventuell einen Konflikt, weil der Ordner tmp_pic dem FTP Benutzer gehört und nicht dem Benutzer des Apache?
 
Warning: move_uploaded_file( ): failed to open stream: Permission denied in /var/www/vhosts/-/httpdocs/sg_neu/main/index.php on line 900

Warning: move_uploaded_file(): Unable to move '/tmp/phpZDO0YP' to ' ' in /var/www/vhosts/-/httpdocs/sg_neu/main/index.php on line 900
Datei konnte nicht hochgeladen werden.


bekomme ich jetzt mit move_uploaded_file( )

der ordner hat rechte 777 und ist mit benutzer www:www gesetzt
 
Wie du siehst ist dein Zielverzeichnis leer, also stimmt irgendwas mit deinem "$kategorie $image" Konstrukt nicht.
 
Zurück