Jump to content

Recommended Posts

hey guys,

 

im playng with image uploading. i want to be able to show a preview of an image that was just uploaded with out having to movie it out of the temp dir the server sends it to.

 

this is my sample script,

 

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?> 



<html>
<body>
<img src="<?php echo $_FILES["file"]["tmp_name"].$_FILES["file"]["name"]?>">

<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form></body>
</html>

 

my problem is that it refers to a dir that is below my /www/ directory

 

any one got any ideas of how to get around this????

 

 

thanks in advance

Link to comment
https://forums.phpfreaks.com/topic/139730-preview-with-image-upload/
Share on other sites

You can create a special script that just displays the image.  Then, you reference that script in your image tag:

 

<img src="image.php?tmp_name=vwuqsu" />

 

And the source of image.php would look something like this:

<?php
$file = 'path/to/tmp/' . $_GET['tmp_name'];

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.