melistik
Erfahrenes Mitglied
Hi,
Ich habe mir leider einen Webspace geholt, der mit Windows 2003 Server betrieben wird,
musst alle meine Scripte anpassen, da ich vorher nicht mit $_GET und $_FILES gearbeitet habe.
Ist vielleicht gut, da man wie ich vestelle so sauberer schreibt, jedoch habe ich nun ein Problem,
Ich habe mir einen Image Create Funktion gebastelt, die ohne das $_FILES['file']['tmp_name']
auch wunderbar geklappt hat, jedoch nun nicht auf nem Windows Server ... Dieser verlangt das $_FILES und co .
Könntet mir bitte jemand sagen, das ich noch nicht richtig umgesetz habe ?
Ich bekomme keine Fehlermeldung, jedoch erstellt er kein Bild,
wahrscheinlich weil er das $_FILES[userfile']['tmp_name'] nicht richtig als Datei erfasst... bin mir da aber nicht so ganz sicher ...
benutze wie gesagt $_FILES.. zum ersten mal ...
Die funktion klappt vorher aller best als ich anstatt $_FILES... $userfile und $userfile_name eingesetz habe ...
Hoffentlich kann mir jemand helfen ;|
Ich habe mir leider einen Webspace geholt, der mit Windows 2003 Server betrieben wird,
musst alle meine Scripte anpassen, da ich vorher nicht mit $_GET und $_FILES gearbeitet habe.
Ist vielleicht gut, da man wie ich vestelle so sauberer schreibt, jedoch habe ich nun ein Problem,
Ich habe mir einen Image Create Funktion gebastelt, die ohne das $_FILES['file']['tmp_name']
auch wunderbar geklappt hat, jedoch nun nicht auf nem Windows Server ... Dieser verlangt das $_FILES und co .
Könntet mir bitte jemand sagen, das ich noch nicht richtig umgesetz habe ?
PHP:
// Die image Funktion
function imagemake($bild,$bildname,$name,$image_breite_max,$image_hoehe_max)
{
global $name_img;
// Ermittelt die Breite und Höhe des Quellbildes
$size = getimagesize ($bild);
$breite = $size[0];
$hoehe = $size[1];
// Lädt das Quellbild $bild in den Speicher
if ((eregi(".jpg",$bildname)) OR (eregi(".jpeg",$bildname))) {
$im_src = imagecreatefromjpeg($bild);
} else if (eregi(".png",$bildname)) {
$im_src = imagecreatefrompng($bild);
} else if (eregi(".gif",$bildname)) {
$im_src = imagecreatefromgif($bild);
} else { die("Falscher Dateityp"); }
// image
// Proportionalität bewahren
$breite_temp = $breite/$image_breite_max;
$hoehe_temp = $hoehe/$image_hoehe_max;
if (($breite > $image_breite_max) || ($hoehe > $image_hoehe_max)) {
if ( $breite_temp >= $hoehe_temp) {
$image_breite = $breite / $breite_temp;
$image_hoehe = $hoehe / $breite_temp;
} else {
$image_breite = $breite / $hoehe_temp;
$image_hoehe = $hoehe / $hoehe_temp;
}} else {
$image_breite = $breite;
$image_hoehe = $hoehe;
}
// Nachkomma Abschneiden
$image_breite = $image_breite - (strstr($image_breite,"."));
$image_hoehe = $image_hoehe - (strstr($image_hoehe,"."));
// Erstellt das image (vorerst leer)
$im_des = imagecreatetruecolor($image_breite,$image_hoehe);
// Kopiert einen Teil des alten Bildes in das neue image.
imagecopyresized ($im_des,$im_src,0,0,0,0,$image_breite,$image_hoehe,$breite,$hoehe);
// Speichert der Bilder
// Falls vorhanden mit anhang _x
$name_img = cleanString($name).".jpg";
if (file_exists($picdir.$name_img)) {
$x = 1;
$name_img = eregi_replace('.jpg', '', $name_img);
$name_edit = $name_img;
while (file_exists($picdir.$name_edit.".jpg")) {
$name_edit = $name_img."_".$x;
$x++;
}
$name_img = $name_edit.".jpg";
}
// Übermittel eigentlichen Filenamen ... kann von Upload abweichen
imagejpeg ($im_des,$picdir.$name_img,95);
// Löscht das imagenail und Bilder aus dem Speicher
imagedestroy ($im_des);
// Löscht den image aus dem Speicher
imagedestroy ( $im_src );
}
PHP:
imagemake($_FILES['userfile']['tmp_name'],$_FILES['userfile']['name'],$_POST['Fname'],450,320);
// Das Formular Input : <input type='file' name='userfile'>
Ich bekomme keine Fehlermeldung, jedoch erstellt er kein Bild,
wahrscheinlich weil er das $_FILES[userfile']['tmp_name'] nicht richtig als Datei erfasst... bin mir da aber nicht so ganz sicher ...
benutze wie gesagt $_FILES.. zum ersten mal ...
Die funktion klappt vorher aller best als ich anstatt $_FILES... $userfile und $userfile_name eingesetz habe ...
Hoffentlich kann mir jemand helfen ;|