Hi everyone, i am receiving a weird error that i do not know how to correct, this is 3 pages but when i try to to resize an image before putting in database, it gives the error the image cannot be displayed because it contains errors. Any help would be apreciated.

submit.php
<html>
<head><title>File Insert</title></head>
<body>
<h3>Please Choose a File and click Submit</h3>
<form enctype="multipart/form-data" action=
"upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
<input type="hidden" name="continue" value="1" />
<input name="userfile" type="file" />
<input type="submit" value="Submit" />
</form>
</body>
</html>


upload.php

<?php
// check if a file was submitted
if(!isset($_FILES['userfile']))
{
echo '<p>Please select a file</p>';
}
else
{
try {
$msg= upload(); //this will upload your image
echo $msg; //Message showing success or failure.
}
catch(Exception $e) {
echo $e->getMessage();
echo 'Sorry, could not upload file';
}
}

// the upload function

function upload() {
include "file_constants.php";
$maxsize = 10000000; //set to approx 10 MB

//check associated error code
if($_FILES['userfile']['error']==UPLOAD_ERR_OK) {

    //check whether file is uploaded with HTTP POST
    if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {    

        //checks size of uploaded image on server side
        if( $_FILES['userfile']['size'] < $maxsize) {  


                // prepare the image for insertion
                $imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));

include 'imageresize.php';
// put the image in the db...
// database connection
mysql_connect($host, $user, $pass) OR DIE (mysql_error());

                // select the db
                mysql_select_db ($db) OR DIE ("Unable to select db".mysql_error());

                // our sql query
                $sql = "INSERT INTO a
                (picture)
                VALUES
                ('{$imgData}');";

                // insert the image
                mysql_query($sql) or die("Error in Query: " . mysql_error());
                $msg='<p>Image successfully saved in database with id ='. mysql_insert_id().' </p>';

  }       else {
            // if the file is not less than the maximum allowed, print an error
            $msg='<div>File exceeds the Maximum File limit</div>
            <div>Maximum File limit is '.$maxsize.' bytes</div>
            <div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].
            ' bytes</div><hr />';
            }
    }
    else
        $msg="File not uploaded successfully.";

}
else {
    $msg= file_upload_error_message($_FILES['userfile']['error']);
}
return $msg;

}

// Function to return error message based on error code

function file_upload_error_message($error_code) {
switch ($error_code) {
case UPLOAD_ERR_INI_SIZE:
return 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
case UPLOAD_ERR_FORM_SIZE:
return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
case UPLOAD_ERR_PARTIAL:
return 'The uploaded file was only partially uploaded';
case UPLOAD_ERR_NO_FILE:
return 'No file was uploaded';
case UPLOAD_ERR_NO_TMP_DIR:
return 'Missing a temporary folder';
case UPLOAD_ERR_CANT_WRITE:
return 'Failed to write file to disk';
case UPLOAD_ERR_EXTENSION:
return 'File upload stopped by extension';
default:
return 'Unknown upload error';
}
}
?>


imageresize.php

<?php
$filename= $imgData;
$width = 50;
$height = 50;
header('Content-type: image/jpeg');
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
$imgData= $filename;
?>

     header('Content-type: image/jpeg');

    Comment out this line and see if you're getting an error message.

      i have updated my imageresize.php to this to correct errors that i had in php

      <?php
      $filename= $_FILES['userfile']['tmp_name'];
      $width = 50;
      $height = 50;
      #header('Content-type: image/jpeg');
      list($width_orig, $height_orig) = getimagesize($filename);
      $ratio_orig = $width_orig/$height_orig;
      if ($width/$height > $ratio_orig) {
      $width = $height*$ratio_orig;
      } else {
      $height = $width/$ratio_orig;
      }
      $image_p = imagecreatetruecolor($width, $height);
      $image = imagecreatefromjpeg($filename);
      imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
      $imgData= $image;
      ?>

      if i block the header, it gives no error but doesn't upload the image data into the database, if i unblock the header line, then i get the same error

        Write a Reply...