Datei Upload funktioniert nicht

Grunge

Erfahrenes Mitglied
Hi,

ich habe folgendes Problem:

Ich habe die folgende Funktion geschrieben um Dateien Upzuloade (der Code stammt von jemandem aus dem Forum hier. Angeblich soll es so funktionieren...)

PHP:
<?
function upload_picture($nick)
{

$verzeichnis="/user_uploads/pictures/thumbnails"; 
$verzeichnis_image="/user_uploads/pictures"; 

$filename=$nick."_".time(); 
    //thumbnail erzeugen 
    $ziel=$verzeichnis."/".$filename.".jpg"; 
    $image_array = getimagesize($_FILES['file']['tmp_name']); 
    $breite=200; 
    $hoehe=250; 
    $original = ImageCreateFromJPEG ($_FILES['file']['tmp_name']); 
    $thumbnail = imagecreatetruecolor ($breite,$hoehe); 
    imagecopyresampled ($thumbnail,$original,0,0,0,0,$breite,$hoehe,$image_array[0],$image_array[1]); 
    Imagejpeg($thumbnail,$ziel,72); 
    ImageDestroy ($thumbnail); 

    //grosses bild(image) erzeugen 
    $ziel=$verzeichnis_image."/".$filename.".jpg"; 
    $image_array = getimagesize($_FILES['file']['tmp_name']); 
    $bildbreite_gr=640; 
    $bildhoehe_gr=480; 
    $original = ImageCreateFromJPEG ($_FILES['file']['tmp_name']); 
    $image = imagecreatetruecolor ($bildbreite_gr,$bildhoehe_gr); 
    imagecopyresampled ($image,$original,0,0,0,0,$bildbreite_gr,$bildhoehe_gr,$image_array[0],$image_array[1]); 
    Imagejpeg($image,$ziel,72); 
    ImageDestroy ($image);
}
?>

der aufruf erfolgt so:

PHP:
<?
upload_picture("test");
?>

Und zu guter letzt: das ist der riesige Fehler mit dem ich kämpfe: :(

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 27

SecureSSI: Das Script (/usr/export/www/hosting/ruelingpunks/html_design_neu/html/upload_pic.php) hat versucht ausserhalb von ihrem Userverzeichniss auf die Datei //user_uploads/pictures/thumbnails/test_1141940510.jpg zuzugreifen.
Dies ist nicht erlaubt!

Warning: imagejpeg(): Sicherheitsverletzung: in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 28

Warning: imagejpeg(): Invalid filename in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 28

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 38

SecureSSI: Das Script (/usr/export/www/hosting/ruelingpunks/html_design_neu/html/upload_pic.php) hat versucht ausserhalb von ihrem Userverzeichniss auf die Datei //user_uploads/pictures/test_1141940510.jpg zuzugreifen.
Dies ist nicht erlaubt!

Warning: imagejpeg(): Sicherheitsverletzung: in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 39

Warning: imagejpeg(): Invalid filename in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 39

Hat jemand eine Idee!? Würde mich freuen

Danke im Vorraus ! !
 
Prüfe doch erst einmal, ob die Datei überhaupt an dem angegebenen Ort existiert. Wahrscheinlich wird dir die „Wurzel allen Übels“ durch die Erhöhung der Fehlermeldungssensibilität PHPs ersichtlich.
 
Zum Problem in Zeile 27.
Prüfe doch mal die Variabeln $original und $image mit der Funktion is_resource(). Wenn es eine gültige Resource ist, müsste true zurückgegeben werden.

Zum Sicherheitsproblem:
PHP:
$verzeichnis="/user_uploads/pictures/thumbnails";  
$verzeichnis_image="/user_uploads/pictures";

Dort muss der komplette UNIX Pfad angegeben werden.
Das ist der Pfad zu deinem Rootverzeichnis des Webspaces: /usr/export/www/hosting/ruelingpunks/

Der Rest müsste sich dann von selbst erledigen.
 
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 23

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 34

Das bekomme ich nun nach ändern der PFaden.

In Zeile 23 steht bei mir:
PHP:
imagecopyresampled ($thumbnail,$original,0,0,0,0,$breite,$hoehe,$image_array[0],$image_array[1]);

Und in 34:
PHP:
imagecopyresampled ($image,$original,0,0,0,0,$bildbreite_gr,$bildhoehe_gr,$image_array[0],$image_array[1]);

also quasi das gleiche.

ich muss dazu sagen: die bilder sind schon auf dem server nur man kann sie nicht ansehen: sie sind schwarz.Mhh aber was kann nun noch falsch sein!?
 
Zuletzt bearbeitet:
Hast du mal die Variabeln $thumbnail,$original,$image mit der genannten Funktion geprüft?

Um zu schauen, ob beim erstellen der Resource alles glatt läuft, könntest du mal das Probieren:
PHP:
#...
ImageCreateFromJPEG ($_FILES['file']['tmp_name']) or die("Erstellen der Resoure nicht möglich.");
#...

Gumbo hat gesagt.:
Wahrscheinlich wird dir die „Wurzel allen Übels“ durch die Erhöhung der Fehlermeldungssensibilität PHPs ersichtlich.
Das schon ausprobiert?
 
hm nun hab ich error_reporting(E_ALL); oben hingehangen und die genannte funktion eingebaut. Nun kommt das:

Notice: Undefined index: file in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 18

Notice: Undefined index: file in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 21
FEHLER

Zeile 18:

PHP:
$image_array = getimagesize($_FILES['file']['tmp_name']);

Zeile 21:
PHP:
$original = ImageCreateFromJPEG ($_FILES['file']['tmp_name'] or die("FEHLER"));
 
Die Fehlermeldung besagt, dass du die Funktion zweimal erstellst, bzw zwei Funktionen mit gleichem Namen hast.
 
Wie heißt das Uploadfeld in deinem Formular? Laut fehlermeldung gibt es das uploadfeld "file" nicht.
 
oh man ich dreh noch durch :( also. gut nun heißt es file . . . aber nun kommen diese meldungen:

Warning: imagecreatefromjpeg(1): failed to open stream: No such file or directory in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 17

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 19

Warning: imagecreatefromjpeg(1): failed to open stream: No such file or directory in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 28

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /usr/export/www/hosting/ruelingpunks/html_design_neu/html/_functions.php on line 30
also soweit ich das interpretieren kann wird da wohl der pfad der datei nicht richtig übergeben,hm!?
 
Zurück