Php 对中的非对象调用成员函数resize()

Php 对中的非对象调用成员函数resize(),php,Php,我使用脚本上传图像 在脚本中,我要创建缩略图 首先,我复制一个副本,复制后,我想调整副本的大小 我有 $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 cop

我使用脚本上传图像

在脚本中,我要创建缩略图

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

我有

$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$Kopie文件提供了一个直接指向图像的链接,如果我复制该链接,该链接将起作用

但现在我到了

$kopiefile -> resize(300, 0, false);
部分,我得到了错误

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

176行在哪里

$kopiefile -> resize(300, 0, false);
我的代码有什么问题

我还尝试使用:

$kopiefile=“/home/censtered/domains/censtered/public_html/ve/media/img/thumbs/”$file\u name

但它不起作用


有人能帮我吗。

$kopiefile不是对象,也没有方法调整大小


尝试使用class=)

$kopiefile不是对象,并且没有方法调整大小


尝试使用class=)

$kopiefile
只是一个字符串,而不是一个对象,因此不能有像
$someobject->resize()这样的成员函数

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

试一试

或者这个: 滚动到底部,查看SimpleImage类代码。 像这样使用它:

<?php
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToWidth(250);
   $image->save('picture2.jpg');
?>

$kopiefile
只是一个字符串,而不是一个对象,因此不能有像
$someobject->resize()这样的成员函数

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

试一试

或者这个: 滚动到底部,查看SimpleImage类代码。 像这样使用它:

<?php
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToWidth(250);
   $image->save('picture2.jpg');
?>

看起来您正在使用
simpleimage
php库。您必须首先加载图像
$image=SimpleImage('path.jpg')然后
$image->resize()
将起作用。首先下载简单的图片,然后试用


在这里下载:

看起来您正在使用
simpleimage
php库。您必须首先加载图像
$image=SimpleImage('path.jpg')然后
$image->resize()
将起作用。首先下载简单的图片,然后试用


在这里下载:

最简单的方法是什么,因为我非常喜欢调整大小的简单ide(300,0,false);imagecopyresized看起来需要额外的编码来保持图像的正确比率。您可以使用->“倾向于”运算符仅访问类中的成员,而在这里我看不到它是这样使用的。也许你想看看。没有别的办法吗,我真的不喜欢添加类,我想让一切尽可能简单。我不想在不需要的时候添加105条代码规则。除了GD库(提供imagecopyresized()函数的库)之外,我不知道还有其他内置功能。您可以使用它,但正如您所说,它不是完全为您的需求量身定制的,因此不幸的是,我认为添加一些代码是不可避免的。好的,我保存了SimpleImage.php类并添加了代码:$kopiefile=“;echo$kopiefile;include('SimpleImage.php');$image=new SimpleImage();$image->load($originalfile);$image->resizeToWidth(250);$image->save($kopiefile);但是现在我得到了错误警告:imagejpeg()[function.imagejpeg]:无法打开“mydomain.com/media/img/thumbs/13648963700veersel.PNG”进行写入:在…中没有这样的文件或目录,但如果复制不存在的url,图像就在那里。我使用了img的relativepath,现在它可以工作thx最简单的方法是什么,因为我真的喜欢resize的简单ide(300,0,false);imagecopyresized看起来需要额外的编码来保持图像的正确比率。您可以使用->“倾向”运算符仅访问类中的成员,但在这里我看不到它是这样使用的。您可能想检查一下。没有其他方法吗,我真的不喜欢添加类我想让一切尽可能简单e、 我不想在不需要的时候添加105条代码规则。除了GD库(提供imagecopyresized()函数的库)之外,我不知道还有其他内置功能。您可以使用它,但正如您所说,它不能完全满足您的需求,因此不幸的是,我认为添加一些代码是不可避免的。好的,我保存了SimpleImage.php类并添加了代码:$kopiefile=“;echo$kopiefile;包括('SimpleImage.php');$image=新的SimpleImage();$image->load($originalfile);$image->resizeToWidth(250);$image->save($kopiefile);但现在我收到错误警告:imagejpeg()[function.imagejpeg]:无法打开“mydomain.com/media/img/thumbs/13648963700veersel.PNG”进行写入:中没有这样的文件或目录。。。但是如果我复制不存在的url,图像就会出现。我用relativepath到img,现在它可以用thx