我不是PHP专家,但我试图使用GD库上传图像文件,但我的代码显示错误。然后我试图回显输出,但它没有显示图像文件的临时位置。
这是我的代码:
if(isset($_REQUEST['upload_btn'])){
$filename = $_FILES['file_upload']['name'];
list($w,$h)= getimagesize($filename);
$imgString = $_FILES['file_upload']['tmp_name'];
echo "Temp = $imgString <br>";
echo "Name = $filename <br>";
echo "Width = $w <br>";
echo "Height = $h";
}
这是我的HTML代码:
<form enctype="multipart/form-data" method="post" target="_self" >
<input type="file" id="upload" name="file_upload" />
<input type="submit" value="upload" name="upload_btn" />
</form>
以上代码的输出如下:
Temp =
Name = image1.jpg
宽度= 4440
高度= 3294
请告诉我我做错了什么?
答案 0 :(得分:2)
$_FILES['file_upload']['name']
只是文件的名称。哪个在服务器上实际上是不可用的。除非您在move_uploaded_file()
方法的帮助下移动temp_file。您必须使用$_FILES['tmp_name']
,这实际上是上传的文件。
<?php
if(isset($_REQUEST['upload_btn'])){
$filename = $_FILES['file_upload']['name'];
$imgString = $_FILES['file_upload']['tmp_name'];
list($w,$h)= getimagesize($imgString);
echo "Temp = $imgString <br>";
echo "Name = $filename <br>";
echo "Width = $w <br>";
echo "Height = $h";
}
?>
仅在文件上传成功时才会出现这种情况。如果上传不成功,则会引发错误,这将是一个可以从
访问的错误号$_FILES['file_upload']['error']
如果为0则表示您的上传成功。否则上传失败。然后,您将无法在$_FILES['file_upload']['tmp_name']