我不是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>
上述代码的输出如下:
温度=
名称=image1.jpg
宽度=4440
高度=3294
请告诉我我做错了什么?
$_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']
中得到结果