views:

47

answers:

2

Hallo I want to make an file upload. The script should take the image, resize it and upload it. But it seems that there is any unknown to me error in the upload.

Here the code

define ("MAX_SIZE","2000");     // maximum size for uploaded images
  define ("WIDTH","107"); // width of thumbnail
  define ("HEIGHT","107"); // alternative height of thumbnail (portrait 107x80)
  define ("WIDTH2","600"); // width of (compressed) photo
  define ("HEIGHT2","600"); // alternative height of (compressed) photo (portrait 600x450)

  if (isset($_POST['Submit'])) {
    // iterate thorugh all upload fields
    foreach ($_FILES as $key => $value) {

      //read name of user-file
      $image = $_FILES[$key]['name'];
      // if it is not empty
      if ($image) {
        $filename = stripslashes($_FILES[$key]['name']);  // get original name of file from clients machine
        $extension = getExtension($filename); // get extension of file in lower case format
        $extension = strtolower($extension);

        // if extension not known, output error
        // otherwise continue
        if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {
          echo '<div class="failure">Fehler bei Datei '. $_FILES[$key]['name'] .': Unbekannter Dateityp: Es können nur Dateien vom Typ .gif, .jpg oder .png hochgeladen werden.</div>';
        } else {
          // get size of image in bytes
          // $_FILES[\'image\'][\'tmp_name\'] >> temporary filename of file in which the uploaded file was stored on server
          $size = getimagesize($_FILES[$key]['tmp_name']);
          $sizekb = filesize($_FILES[$key]['tmp_name']);

          // if image size exceeds defined maximum size, output error
          // otherwise continue
          if ($sizekb > MAX_SIZE*1024) {  
            echo '<div class="failure">Fehler bei Datei '. $_FILES[$key]['name'] .': Die Datei konnte nicht hochgeladen werden: die Dateigröße überschreitet das Limit von 2MB.</div>';
          } else {
            $rand = md5(rand() * time());  // create random file name
            $image_name = $rand.'.'.$extension;   // unique name (random number)

            // new name contains full path of storage location (images folder)
            $consname = "photos/".$image_name;  // path to big image
            $consname2 = "photos/thumbs/".$image_name;  // path to thumbnail

            $copied = copy($_FILES[$key]['tmp_name'], $consname);
            $copied = copy($_FILES[$key]['tmp_name'], $consname2);

            $sql="INSERT INTO photos (galery_id, photo, thumb) VALUES (". $id .", '$consname', '$consname2')" or die(mysql_error());
            $query = mysql_query($sql) or die(mysql_error());

            // if image hasnt been uploaded successfully, output error
            // otherwise continue
            if (!$copied) {
              echo '<div class="failure">Fehler bei Datei '. $_FILES[$key]['name'] .': Die Datei konnte nicht hochgeladen werden.</div>';
            } else {
              $thumb_name = $consname2;   // path for thumbnail for creation & storage
              // call to function: create thumbnail
              // parameters: image name, thumbnail name, specified width and height
              $thumb = make_thumb($consname,$thumb_name,WIDTH,HEIGHT);
              $thumb = make_thumb($consname,$consname,WIDTH2,HEIGHT2);
            }
          }
        }
      }
    }
    // current image could be uploaded successfully
    echo '<div class="success">'. $success .' Foto(s) erfolgreich hochgeladen!</div>';
    showForm();   // call to function: create upload form 
  }
+1  A: 

Can we see the PHP error log?


Actually the message: 'photos/03be646900419daa11eaa1d1af1fd024.jpg' is not a valid JPEG file

is saying it! The file is not a valid JPEG, this is the problem.

A: 

Nothing found in any log files.

this is the only message, what I get as direct error message:

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in /58/htdocs/homepage/intern/inc.function.php on line 95

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'photos/03be646900419daa11eaa1d1af1fd024.jpg' is not a valid JPEG file in /58/htdocs/homepage/intern/inc.function.php on line 95

Warning: imagesx(): supplied argument is not a valid Image resource in /58/htdocs/homepage/intern/inc.function.php on line 104

Warning: imagesy(): supplied argument is not a valid Image resource in /58/htdocs/homepage/intern/inc.function.php on line 105

Warning: Division by zero in /58/htdocs/homepage/intern/inc.function.php on line 120

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /58/htdocs/homepage/intern/inc.function.php on line 123

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /58/htdocs/homepage/intern/inc.function.php on line 125

related questions