Server wechsel - Bild-Upload geht nicht mehr

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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>");
      }
    }
    
    
    ?>

  • #2
    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.

    Kommentar


    • #3
      Die Schreibrechte stimmen alle, das hab ich geprüft. Es muss wirklich am Code liegen. Fehlermeldung gibt es keine.

      Kommentar


      • #4
        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.

        Kommentar


        • #5
          Zitat von ricober Beitrag anzeigen
          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

          Kommentar

          Lädt...
          X