当我上传文件(.jpg)并执行var_dump($_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
但是使用此代码:
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');
一切顺利。所以我的问题是:我需要在转换之前将图像存储在主机中吗?我想避免这种情况,因为我只需要缩略图。
另外:$_FILES['img']['tmp_name']
没有解决问题。
答案 0 :(得分:1)
使用$ _FILES ['img'] ['tmp_name'];
您的解决方案使用整个数组作为参数
答案 1 :(得分:0)
我需要这样的东西:
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);
}