首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像错误:“无法打开图像”图像上传

图像错误:“无法打开图像”图像上传
EN

Stack Overflow用户
提问于 2013-06-02 02:32:35
回答 1查看 10.3K关注 0票数 1

当我试图用imagick处理上传的图像时,我会得到以下错误。

致命错误:无法打开图像‘9eK59iu.jpg’的未命名的异常'ImagickException‘:在第77行的D:\PATH\upload.php中没有这样的文件或目录@error/blob.c/OpenBlob/2644。

代码如下所示:

代码语言:javascript
复制
<?php

    $new_folder_name = "D:/PATH/content";       
    mkdir("$new_folder_name",0700);

    $tmp_img = $_FILES["upload_file"]["tmp_name"];

    $img = new Imagick($tmp_img);
    $img->thumbnailImage(100 , 100 , TRUE);
    $img->writeImage($new_folder_name);

?>

没有想象,图像上传的效果很好。

只有imagick才不会打开给$_FILES的图像

我还试图在move_uploaded_file之后用imagick打开图像,如下所示:

代码语言:javascript
复制
<?php

    $extension = pathinfo($upload_file_name, PATHINFO_EXTENSION);
    $new_upload_file_name = rand(00000, 99999).".".$extension;

    $new_folder_name = "D:/PATH/content".time();        
    mkdir("$new_folder_name",0700);

    $path_to_file = $new_folder_name."/".$new_upload_file_name;

    move_uploaded_file($_FILES["upload_file"]["tmp_name"],$path_to_file);

    $img = new Imagick($path_to_file);
    $img->thumbnailImage(100 , 100 , TRUE);
    $img->writeImage($new_folder_name);

?>

都不管用..。:-(

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-02 02:34:50

文件上传文档。由PHP分配的服务器端临时文件名,用于将上传的文件存储在['tmp_name']中的$_FILES数组中。您正在尝试使用客户端用户提供的['name']在您的服务器上任何地方都不存在

代码语言:javascript
复制
$tmp_img = $_FILES["upload_file"]["tmp_name"];
                                   ^^^^

您也只是简单地假设上传已经成功。这不是件好事。永远不要在处理远程资源(web、文件上传、数据库操作等)方面取得成功。始终检查错误:

代码语言:javascript
复制
if ($_FILES['upload_file']['error'] !== UPLOAD_ERR_OK) {
  die("Upload failed with error code " . $_FILES['upload_file']['error']);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16879236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档