【发布时间】: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