| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

16-07-2009, 14:13
|
|
ricober
Registrierter Benutzer
|
|
Registriert seit: Jun 2004
Beiträge: 63
|
|
Server wechsel - Bild-Upload geht nicht mehr
Hallo allerseits
ein Freund von mir hat mit seiner Firmenwebsite zu einem neuen Provider gewechselt. Nun Funktioniert im Adminbereich die Bild-Upload Funktion nicht mehr. Ich bin mir zimmlich sicher, dass es an der nun neueren PHP Version liegt. Ich habe aber den Fehler nicht gefunden. Kann mir jemand sagen, welcher Teil des Skriptes nicht mehr funktioniert?
Danke für die Hilfe!!!
Code:
<?php
$tumbsw=40;
$tumbsh=40;
$ordnergross = "../refbilder";
$ordnerklein = "../refbilder/klein";
/************************************************************
*
* kleine Funktion um Bilder auf eine Maximal Größe zu scalieren
* bzw auszurechnen mit welchen Faktor das Bild Scaliert werden muß
*
*************************************************************/
function pic_scale($imgfile, $maxx, $maxy)
{
$img = imagecreatefromjpeg ($imgfile);
if ( $img )
{ $imgx = imagesx ( $img );
$imgy = imagesy ( $img );
$scalex = $imgx / $maxx;
$scaley = $imgy / $maxy;
if ( $scalex > $scaley )
return( $scalex );
return( $scaley );
}
return(1);
}
$filename = "lastpic.txt";
if ( file_exists($filename) )
{ $size = filesize($filename);
$handle = fopen($filename, "rb");
$lastpic= fread($handle, $size); fclose($handle);
}
/***********************************************************************
* Upload entgegen nehmen
**********************************************************************/
/**
echo(sprintf("%s<br>%s<br>%s<br>%s<br>%s<br>"
,$_FILES['datei']['name']
,$_FILES['datei']['type']
,$_FILES['datei']['size']
,$_FILES['datei']['tmp_name']
,$_FILES['datei']['error']
));
**/
if ( $GLOBALS[doit]=="UpLoad" )
{ //echo("<font color=red size=+2>Bild entgegen nehmen</font><br>");
if ( $_FILES['datei']['type'] == "image/jpeg"
|| $_FILES['datei']['type'] == "image/pjpeg"
|| $_FILES['datei']['type'] == "image/jpg" )
echo("Bild ist in ordnung<br>");
else
echo("<font color=red size=+2>Bild ist gar kein Bild</font>");
$neuername = "$ref_id"."_";
$HTTP_POST_FILES["datei"]["name"] = str_replace("°" , "", $HTTP_POST_FILES["datei"]["name"]);
$HTTP_POST_FILES["datei"]["name"] = str_replace("/" , "", $HTTP_POST_FILES["datei"]["name"]);
$HTTP_POST_FILES["datei"]["name"] = str_replace("\\", "", $HTTP_POST_FILES["datei"]["name"]);
$bildname = sprintf( "$ordnergross/$neuername%s", $HTTP_POST_FILES["datei"]["name"]);
$tumbname = sprintf( "$ordnerklein/$neuername%s", $HTTP_POST_FILES["datei"]["name"]);
$tempname = sprintf( "upload.jpg", $HTTP_POST_FILES["datei"]["name"]);
//echo("$tempname "); echo($HTTP_POST_FILES["datei"]["tmp_name"]);
move_uploaded_file( $HTTP_POST_FILES["datei"]["tmp_name"], $tempname);
chmod ($tempname, 0644);
echo("<br>Aktueller Upload:<br><IMG src=\"$tumbname\" border=\"0\"><br>");
if ( file_exists($bildname) )
{
echo("<br><font color=red size=+2>Fehler:</font> Dateinamen ist schon vorhanden. Sorry<br><br><br>");
unlink($tempname);
}
if ( file_exists($tempname) )
{
$img = imagecreatefromjpeg ($tempname );
if ( $img )
{
$scale = pic_scale($tempname, $tumbsw, $tumbsh);
$imgx = imagesx ( $img );
$imgy = imagesy ( $img );
$tumx = imagesx ( $img ) / $scale;
$tumy = imagesy ( $img ) / $scale;
if ( $_FILES['datei']['type'] == "image/gif" )
// $tumb = imagecreate ( $tumx, $tumy ); // proportional
$tumb = imagecreate ( $tumbsw, $tumbsh ); // nicht proportional
else
// $tumb = imagecreatetruecolor ( $tumx, $tumy ); // proportional
//imagecopyresampled ( $tumb, $img, 0, 0, 0, 0, $tumx, $tumy, $imgx, $imgy); // proportional
$tumb = imagecreatetruecolor ( $tumbsw, $tumbsh ); // nicht proportional
imagecopyresampled ( $tumb, $img, 0, 0, 0, 0, $tumbsw, $tumbsh, $imgx, $imgy); // nicht proportional
imagejpeg ( $tumb , $tumbname , 100);
rename ( $tempname, $bildname );
echo ("<br>Alles ok!<br>");
$bildname1 = $tumb;
/**
Daten übertragen
Jetzt schreiben wir den Bildnamen in die Datenbank-tabelle
**/
// echo ("datei_name = $datei_name, ref_id=$ref_id, bild_nr=ref_bild$bild_nr<br>");
$zeile = "ref_bild".$bild_nr;
//echo ("zeile = $zeile");
$neuername = "$neuername"."$datei_name";
// echo("<br>neuername = $neuername");
$SQL = sprintf("UPDATE referenzen SET $zeile = '$neuername' WHERE ref_id = $ref_id");
$rs = mysql_query($SQL,$architekt) or die ("Fehler beim schreiben in die Datenbank!!");
if ($altesbild == "keinbild.jpg") {
echo ("<a href='edit_ref2.php?ref_id=$ref_id'>weiter...</a>");
}
else {
unlink("../refbilder/$altesbild");
unlink("../refbilder/klein/$altesbild");
echo ("<br><br><a href='edit_ref2.php?ref_id=$ref_id'>Weiter...</a>");
}
}
else
{
unlink($tempname);
}
}
else
{ echo("<br><br><br>Fehler! Bild wurde nicht gespeichert");
echo ("<br><br><a href='edit_ref2.php?ref_id=$ref_id'>Zurueck...</a>");
}
}
?>
|

16-07-2009, 14:17
|
|
|
Fehlermeldungen wären wichtiger.
In vielen Fällen wird vergessen die (Schreib)Rechte für das Zielverzeichnis zu setzen, das würde ich mal checken.
|

16-07-2009, 14:22
|
|
ricober
Registrierter Benutzer
|
|
Registriert seit: Jun 2004
Beiträge: 63
|
|
Die Schreibrechte stimmen alle, das hab ich geprüft. Es muss wirklich am Code liegen. Fehlermeldung gibt es keine.
|

16-07-2009, 14:56
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.482
|
|
PHP-Code:
/***********************************************************************
* Upload entgegen nehmen
**********************************************************************/
/**
echo(sprintf("%s<br>%s<br>%s<br>%s<br>%s<br>"
,$_FILES['datei']['name']
,$_FILES['datei']['type']
,$_FILES['datei']['size']
,$_FILES['datei']['tmp_name']
,$_FILES['datei']['error']
));
**/
Wenn diese Kontrollausgabe nicht dummerweise auskommentiert wäre, dann könnte sie vielleicht sogar brauchbare Infos liefern.
Und warum das Script teilweise mit $_FILES, teilweise aber auch mit dem veralteten $HTTP_POST_FILES arbeitet, muss man wohl nicht verstehen, oder?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-07-2009, 17:00
|
|
mkb_webprint
Registrierter Benutzer
|
|
Registriert seit: May 2009
Beiträge: 53
|
|
Zitat:
Zitat von ricober
Die Schreibrechte stimmen alle, das hab ich geprüft. Es muss wirklich am Code liegen. Fehlermeldung gibt es keine.
|
Hast du auch schonmal folgende Sachen probiert die im PHP-Manual nachzulesen sind?
error_reporting() und display_errors()
PHP: Runtime Configuration - Manual
ggf. noch ini_set()
PHP: ini_set - Manual
Andernfalls schau doch mal was in der php.ini unter display_errors eingestellt ist.
Grüße
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|