M.O.S. Studios Posted January 6, 2009 Share Posted January 6, 2009 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 Quote Link to comment https://forums.phpfreaks.com/topic/139730-preview-with-image-upload/ Share on other sites More sharing options...
premiso Posted January 6, 2009 Share Posted January 6, 2009 You can always store the path in session then have a page called readImage.php which uses readfile and headers to display the image. Quote Link to comment https://forums.phpfreaks.com/topic/139730-preview-with-image-upload/#findComment-731059 Share on other sites More sharing options...
flyhoney Posted January 6, 2009 Share Posted January 6, 2009 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; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/139730-preview-with-image-upload/#findComment-731060 Share on other sites More sharing options...
PFMaBiSmAd Posted January 6, 2009 Share Posted January 6, 2009 The temporary uploaded file $_FILES["file"]["tmp_name"] is destroyed when the form processing code ends. So, you will need to move/copy it somewhere if you want it to be available for an <img src="..."> tag. Quote Link to comment https://forums.phpfreaks.com/topic/139730-preview-with-image-upload/#findComment-731098 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.