【问题标题】:imagecopyresampled() expects parameter 2 to be resource, boolean given in [my php file]imagecopyresampled() 期望参数 2 是资源,在 [我的 php 文件] 中给出的布尔值
【发布时间】:2016-10-25 07:53:07
【问题描述】:

当用户上传和裁剪 JPEG 文件时遇到问题,它会成功保存。但是在执行以下代码时会出现一些错误。[注意:此代码将在我的本地服务器上完美运行]

代码:

$reg1 = "select * from table where did='".$did."'";
$reg2 = mysqli_query($con,$reg1);
$reg3 = mysqli_fetch_array($reg2);
echo $reg3['image1'];

if($reg3["image1"]!="")
{
$image1="uploads/".$reg3['image1'];

}

    echo $image = imagecreatefromjpeg($image1); 
    list($pwidth, $pheight) = getimagesize($image1);
    imagecopyresampled($image_p, $image, 2, 2, 0, 0, 152, 152, $pwidth, $pheight);

$image1 从 db 中检索到正确的 img 文件。但是 $image 不起作用。

错误: 警告:imagecreatefromjpeg[文件名]:打开流失败:[php 文件目录名] 中没有这样的文件或目录

警告:getimagesize():failed to open stream: No such file or directory in[php file directory name]

警告:imagecopyresampled() 期望参数 2 是资源,布尔值在 [php 文件目录名称] 中给出

【问题讨论】:

  • $image1 是否指向正确的文件?
  • 听起来像是文件夹目标权限。
  • 编辑您的问题。不要在 cmets 中编写代码。
  • 错误很明显:"uploads/".$reg3['image1'] 是图像的错误路径。也许这是使用 relative paths 和工作目录不同的问题,或者路径完全错误。首先为初学者构建一个绝对路径__DIR__ . '/uploads/' . ...(根据需要调整,echo 路径,确保它存在)。
  • 只是uploads/... 是一个相对路径,相对于当前工作目录。这是指定路径的一种相当不稳定的方法,并且可能会根据您的工作目录而中断。使用绝对路径,例如/var/www/html/uploads/...,或您的目录所在的任何位置。

标签: php filestream


【解决方案1】:

我终于解决了我的错误。

在 db 额外空间中插入图像名称时会自动添加。编辑后现在可以正常工作了。

感谢朋友们的回复。。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2013-04-23
    • 2012-09-10
    • 2016-10-30
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    相关资源
    最近更新 更多