【问题标题】:Error in image upload using PHP GD Library使用 PHP GD 库上传图片时出错
【发布时间】:2015-04-24 17:48:33
【问题描述】:

我不是 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数组的内容,即print_r($_FILES);。图片尺寸是否正确?
  • 您还可以检查上传的error 以尝试找出问题if($_FILES['file_upload']['error'] != 0) { // some error occurred }。您可以查看此页面以获取错误代码列表:File Upload Errors
  • @Cyclone 非常感谢。这个帮助会帮助我。我正在更新代码,希望我的问题能得到解决。
  • 它现在工作正常。谢谢你的帮助!! @Cyclone
  • upload_max_filesize 是 2M,所以我在 php.ini 文件中将其更改为 12M,奇迹发生了!

标签: php image forms upload gd


【解决方案1】:

$_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']得到结果了

【讨论】:

  • 如果您阅读 OP,您会注意到这是实际问题。他说tmp_name 什么也没返回。当谈到他将在调用getimagesize() 时使用的内容时,您仍然是正确的
  • 但我使用的是本地主机,而且这个问题并不在于所有图像。一些文件显示 temp = C:\wamp\tmp\phpFA82.tmp 。那么为什么有些图片会显示错误而有些则不会呢?
  • @Abhimanu - 看看我上面的 cmets。检查您是否在$_FILES['file_upload']['error'] 中设置了错误,如果是这种情况,它是哪种错误代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 2015-08-14
  • 2018-07-30
相关资源
最近更新 更多