0

我使用脚本上传图像。

在我想创建缩略图的脚本中。

首先我制作一个副本,在复制之后我想调整副本的大小。

我有

$originalfile =//the file i just uploaded

$kopiefile = //the copy destination /same filename as original but with an extra dir added.

if (!copy($originalfile, $kopiefile)) {
    echo "failed to copy $originalfile...\n";
} else {
    $kopiefile = "http://mydomain.com/media/img/thumbs/".$file_name;
    echo $kopiefile;
    $kopiefile -> resize(300, 0, false);
}

复制文件有效,我可以看到新创建的文件。

echo $kopiefile 给了我一个直接指向图像的链接,如果我复制链接,它就可以工作。

但现在我到了

$kopiefile -> resize(300, 0, false);

部分,我得到了错误

致命错误:在 .... 第 176 行中对非对象调用成员函数 resize()

第 176 行在哪里

$kopiefile -> resize(300, 0, false);

我的代码有什么问题?

我也尝试使用:

$kopiefile = "/home/censored/domains/censored/public_html/ve/media/img/thumbs/".$file_name;

但它不工作。

有人可以帮助我吗?

4

3 回答 3

4

$kopiefile只是一个字符串,而不是一个对象,因此不能有像$someobject->resize().

您必须将图片加载到具有某种调整大小方法的对象中。您现在正在做的是将文件的 url 放入字符串变量中。

试试http://php.net/manual/en/function.imagecopyresized.php

或者这个: http: //www.white-hat-web-design.co.uk/blog/resizing-images-with-php/ 滚动到底部的 SimpleImage 类代码。像这样使用它:

<?php
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToWidth(250);
   $image->save('picture2.jpg');
?>
于 2013-04-02T09:14:17.393 回答
1

看起来你正在使用simpleimagephp 库。您必须先加载图像$image = SimpleImage('path.jpg');然后$image->resize()才能工作。先下载简单的图片再试试

在这里下载:simpleimage

于 2013-04-02T09:20:43.677 回答
0

$kopiefile 不是对象,也没有方法resize

尝试使用https://code.google.com/p/ag-php-classes/wiki/ImagesHelper类 =)

于 2013-04-02T09:14:16.180 回答