Jump to content

upload images


sprint10s

Recommended Posts

below i am attaching two files that will allow a user to upload a picture insert it in the database and to a directory on the server then return the image to the screen with some information about it.  the images are getting uploaded to the right directory and the database table is getting inserted correctly but the picture is not being displayed back to the screen just a little blue ? box (image can't be displayed icon).  Any suggestions or help is appreciated.  thanks

 

html form below

<html>
<head>
<title>Upload your pic to our site!</title>
</head>
<body>

<form name="form1" method="post" action="check_image.php" 
    enctype="multipart/form-data">

<table border="0" cellpadding="5">
  <tr>
    <td>Image Title or Caption<br>
      <em>Example: Jeremy_8_29_09</em></td>
    <td><input name="image_caption" type="text" id="item_caption" size="55" 
          maxlength="255"></td>
  </tr>
  <tr>
    <td>Your Username</td>
    <td><input name="image_username" type="text" id="image_username" size="15" 
          maxlength="255"></td>
  </tr>
    <td>Upload Image:</td>
    <td><input name="image_filename" type="file" id="image_filename"></td>
  </tr>
</table>
<br>
<em>Acceptable image formats include: GIF, JPG/JPEG, and PNG.</em>
<p align="center"><input type="submit" name="Submit" value="Submit">
   
  <input type="reset" name="Submit2" value="Clear Form">
</p>
</form>
</body>
</html>

 

create image file ---

<?php
//connect to the database
require_once ("../func/connect.php");
//make variables available
$image_caption = $_POST['image_caption'];
$image_username = $_POST['image_username'];
$image_tempname = $_FILES['image_filename']['name'];
$today = date("Y-m-d");

//upload image and check for image type
//make sure to change your path to match your images directory
$ImageDir ="../images/user_uploads/";
$ImageName = $ImageDir . $image_tempname;

if (move_uploaded_file($_FILES['image_filename']['tmp_name'], 
                       $ImageName)) {

  //get info about the image being uploaded
  list($width, $height, $type, $attr) = getimagesize($ImageName);

  switch ($type) {
    case 1:
      $ext = ".gif";
      break;
    case 2:
      $ext = ".jpg";
      break;
    case 3:
      $ext = ".png";
      break;
    default:
      echo "Sorry, but the file you uploaded was not a GIF, JPG, or " .
           "PNG file.<br>";
      echo "Please hit your browser's 'back' button and try again.";
  }

   //insert info into image table

  $insert = "INSERT INTO images
            (image_caption, image_username, image_date)
            VALUES
            ('$image_caption', '$image_username', '$today')";
  $insertresults = mysql_query($insert)
    or die(mysql_error());

  $lastpicid = mysql_insert_id();

  $newfilename = $ImageDir . $lastpicid . $ext;

  rename($ImageName, $newfilename);

}

?>

<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>So how does it feel to be famous?</h1><br><br>
<p>Here is the picture you just uploaded to our servers:</p>
<img src="../images/user_uploads/<?php echo $lastpicid . $ext; ?>" align="left">
<strong><?php echo $image_name; ?></strong><br>
This image is a <?php echo $ext; ?> image.<br>
It is <?php echo $width; ?> pixels wide 
and <?php echo $height; ?> pixels high.<br>
It was uploaded on <?php echo $today; ?>.
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/172580-upload-images/
Share on other sites

all directories are right, do you think maybe there is a permission problem on the directory, i right clicked on the broken image and clicked view in new window, and i get this error

 

Forbidden

 

You don't have permission to access /images/user_uploads/13.jpg on this server.

Link to comment
https://forums.phpfreaks.com/topic/172580-upload-images/#findComment-909764
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.