Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 转换时图像样本为黑色_Php_Image_Gd - Fatal编程技术网

Php 转换时图像样本为黑色

Php 转换时图像样本为黑色,php,image,gd,Php,Image,Gd,当我上传一个文件(.jpg)并执行var\u转储($\u FILES['img'])时,我会得到如下结果: array 'name' => string 'help_clip_image020.jpg' (length=22) 'type' => string 'image/jpeg' (length=10) 'tmp_name' => string '/tmp/phpfa9gSr' (length=14) 'error' => int 0 'size

当我上传一个文件(.jpg)并执行
var\u转储($\u FILES['img'])
时,我会得到如下结果:

array
  'name' => string 'help_clip_image020.jpg' (length=22)
  'type' => string 'image/jpeg' (length=10)
  'tmp_name' => string '/tmp/phpfa9gSr' (length=14)
  'error' => int 0
  'size' => int 35504
 if(move_uploaded_file($img['tmp_name'], $path.$yourImgName_extension)){
            $resizeObj = new resize($path.$yourImgName_extension);

            $resizeObj -> resizeImage(200, 200, 'crop');

            $resizeObj -> saveImage($path.'sample-resized.jpg', 100);
        }
但是,对于此代码:

include("resize-class.php");

// *** 1) Initialise / load image
$resizeObj = new resize($_FILES['img']);

// *** 2) Resize image (options: exact, portrait, landscape, auto, crop)
$resizeObj -> resizeImage(200, 200, 'crop');

// *** 3) Save image
$resizeObj -> saveImage('sample-resized.jpg', 100);
我会得到一个黑色填充的图像。但绝对路径如下:

$resizeObj = new resize('http://leandrovieira.com/projects/jquery/lightbox/photos/image1.jpg');
一切都很好。所以我的问题是:在转换之前,我需要将图像存储在主机中吗?我想避免这种情况,因为我只需要缩略图


另外:
$\u文件['img']['tmp\u name']
没有解决问题。

使用$\u文件['img']['tmp\u name']


您的解决方案使用整个阵列作为参数

我需要如下内容:

array
  'name' => string 'help_clip_image020.jpg' (length=22)
  'type' => string 'image/jpeg' (length=10)
  'tmp_name' => string '/tmp/phpfa9gSr' (length=14)
  'error' => int 0
  'size' => int 35504
 if(move_uploaded_file($img['tmp_name'], $path.$yourImgName_extension)){
            $resizeObj = new resize($path.$yourImgName_extension);

            $resizeObj -> resizeImage(200, 200, 'crop');

            $resizeObj -> saveImage($path.'sample-resized.jpg', 100);
        }

在提问之前,我已经测试了你发布的内容,但没有效果。谢谢。您使用什么调整大小类?我想您可能必须先复制图片才能为其提供扩展。就我所阅读的示例而言,该函数查找文件扩展名以确定要执行的操作。这意味着字符串“/tmp/phpfa9gSr”对类不起作用,而且它最终是一个jpg