DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   PHP (http://www.daniweb.com/forums/forum17.html)
-   -   File upload problem (http://www.daniweb.com/forums/thread50493.html)

vov4ik Jul 19th, 2006 2:29 pm
File upload problem
 
Hi,

I have problem with uploading images by php script.
I created a HTML form for user to input image file, and simple PHP script which accepts this file from form and prints it in the browser. My script uploads file, prints file's name, generates HTML code, but does not output image.

My PHP code is:
[php]

<?php

$tmp_file=$_FILES['userfile']['tmp_name']; //file stored on server
if (is_uploaded_file($tmp_file)) { // check if image is uploaded by client
$size = getimagesize($tmp_file); // get image dimensions
if ($size==false) {
echo 'File $tmp_name is not accessible or it is not a valid picture';
}
else {
$width = round($size[0]);
$height = round($size[1]);
echo "<br><br>File: ", $tmp_file, "<br><br>"; // print image
echo '<img scr="'.$tmp_file.'" border="0" alt="'.$tmp_file.'" width="'.$width.'" height="'.$height.'">' ;
}
}
else { // file upload failed
echo "Possible file upload attack: ";
echo "filename '". $tmp_file . "'.";
}
}
?>
[/php]


The possible output is:
[html]
File: C:/Program Files/wamp/tmp\php4B.tmp

<IMG height=180 alt="C:/Program Files/wamp/tmp\php4B.tmp" width=300 border=0 scr="C:/Program Files/wamp/tmp\php4B.tmp">
[/html]

Instead image, it displays default icon.
That means that image file hasn't been uploaded.
What's wrong with my program? Please help me

zippee Jul 19th, 2006 7:12 pm
Re: File upload problem
 
You need to use move_uploaded_file function to transfer the image from your harddisk (temporary storage site) into a web server (which it can be your localhost or a online hosting). Check php.net for more info.

vov4ik Jul 20th, 2006 4:54 am
Re: File upload problem
 
Quote:

Originally Posted by zippee
You need to use move_uploaded_file function to transfer the image from your harddisk (temporary storage site) into a web server (which it can be your localhost or a online hosting). Check php.net for more info.

Thanks Zippee,
I use move_uploaded_file() and it does the job perfectly.
is_uploaded_file() automatically creates directory with the name like C:/Program Files/wamp/tmp\phpB.tmp, which doesn't seem to be a valid path name (because of ' /tmp\ ') at all. No tmp directory is really created on harddisk.
I'm still trying to understand why my code doesn't work


All times are GMT -4. The time now is 6:13 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC