Bild Script Convertieren

fio2100

Grünschnabel
Hallo. Ich habe ein kleines Problem. Ich hatte einen Server mit älter PHP Version jetzt habe ich einen mit PHP Version 5.2.6. Ich habe ein kleines Script das mit beim Bilder einfügen hilft. Leider funktioniert es auf der neuen PHP version nicht mehr. Kann mir vielleicht jemand sagen was ich umbauen muss?

Die bild_upload.php sieht wie folgt aus:

<?php


if ($submit) {

// TYP Festlegen
$typ = $_FILES["bild"]["type"];

if ($typ == 'image/jpeg') {
// File erstmal original hochladen
move_uploaded_file($_FILES["bild"]["tmp_name"], "/wwwroot/movie/bild.jpg");
// Größe Ermitteln
$getimagesize = getimagesize("/wwwroot/movie/bild.jpg");
$h = $getimagesize[0];
$b = $getimagesize[1];
$t = $getimagesize[2];

// Neue Größe bestimmen
$bn = 136;
$hn = 94;

// Leeres Bild erstellen
$image_p = imagecreatetruecolor($hn, $bn);

// Altes bild in neues Format legen
$image = imagecreatefromjpeg("/wwwroot/movie/bild.jpg");
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $hn, $bn, $h, $b);
imagejpeg($image_p, "/wwwroot/movie/bild.jpg");


// Bild für Datenbank vorbereiten
$bild = addslashes(fread(fopen("/wwwroot/movie/bild.jpg", "r"), filesize("/wwwroot/movie/bild.jpg")));


// Bild Speichern
$db->edit_bild($popup_tab,$bild,$typ,$m);


} else {
echo "Hochladen Fehlgeschlagen. Es sind nur JPEG und JPG Bilder erlaubt";
}
$edit = $m;
include('./popup/popup.php');

} else {

// else show the form to submit new data:

echo "<form action='main.php?menue=7' method='post' enctype='multipart/form-data'>
<br><br>Bild zum Upload:<br>
<input type='file' name='bild' size='40'>
<input type='hidden' name='m' value='$edit'>
<input type='hidden' name='popup_tab' value='$popup_tab'>
<p><input type='submit' name='submit' value='Abschicken'>
</form>";



}

?>
 
mit dem befehl _FILES fuktioniert es da er in die schleife springt wo er erkennt das die datei ein jpeg ist. das script legt auch das bild auf dem server ab. erst ab da wo die größe verändert wird hackt es...

wenn ich ein echo einfüge um zu testen wie weit der kommt bricht der ab der zeile $image_p = imagecreatetruecolor($hn, $bn); ab. leider sind meine php kenntnisse nicht aussreichend das ich wissen könnte warum das so ist.
 
mit dem befehl _FILES fuktioniert es da er in die schleife springt wo er erkennt das die datei ein jpeg ist. das script legt auch das bild auf dem server ab. erst ab da wo die größe verändert wird hackt es...

$_FILES ist ja auch eine von den Superglobalen. Du hast aber auch noch die Variablen $m, $popup_tab und $submit. Bei Dir scheint register_globals tatsächlich aktiviert zu sein, was eine Sicherheitslücke ist. Schalte es ab und benutze $_POST['m'],...

wenn ich ein echo einfüge um zu testen wie weit der kommt bricht der ab der zeile $image_p = imagecreatetruecolor($hn, $bn); ab. leider sind meine php kenntnisse nicht aussreichend das ich wissen könnte warum das so ist.

Kann es sein, dass in Deiner neuen Umgebung die GD-Library gar nicht zur Verfügung steht?

LG
 
Danke erstmal für den Tipp mit der GD-Library denn genau die war das Problem. Jetzt funktioniert das Script wieder.

Meine Frage jetzt zu dem Umbau auf Post: Kann ich dann auch den File Typ auslesen? in wie weit müsste ich das Script umbauen? Alle anderen Variablen werden an einer anderen Stelle des Programms ausschließlich mit get und post ausgelesen.

Danke
 
Meine Frage jetzt zu dem Umbau auf Post: Kann ich dann auch den File Typ auslesen?

Der Zugriff auf die hochgeladenen Dateien ist richtig. $_FILES ist eine der Superglobalen.

in wie weit müsste ich das Script umbauen? Alle anderen Variablen werden an einer anderen Stelle des Programms ausschließlich mit get und post ausgelesen.

Alle anderen Formularelemente müsstest Du über $_POST auslesen, genau wie an den besagten anderen Stellen Deines Scripts.

LG
 
Zurück