php函数参数FILE类型错误

时间:2014-12-22 16:46:09

标签: php file function

我尝试将文件发送到php函数

功能链接:   here is that function

或:     public function resize(File $ file,$ destination)         {            ...         }

我试着这样做:

$IMAGES_DIR = $_SERVER["DOCUMENT_ROOT"];
$object->resize('http://root.com/pic.jpg',$IMAGES_DIR);

$object->resize($_SERVER["DOCUMENT_ROOT"].'/pic.jpg',$IMAGES_DIR);

但是我收到了这个错误:

  

可捕获的致命错误:参数1传递给   Acme \ MyBundle \ Service \ ImagineResizer :: resize()必须是一个实例   Symfony \ Component \ HttpFoundation \ File \ File,给定的字符串,调用   第20行和第20行的C:\ WampDeveloper \ Websites \ root.com \ webroot \ images.php   定义于   C:\ WampDeveloper \网站\ root.com \ webroot的\核心\影像\的functions.php   第24行

2 个答案:

答案 0 :(得分:1)

如果不知道调整大小函数中的代码,这很难回答。但是,您似乎只是使用文件名作为第一个参数,但您的函数期望您提供类型提示的内容:Symphony“文件”对象。

您需要在函数外部创建这样的对象,并传递该对象而不是文件名字符串。

答案 1 :(得分:1)

您应首先创建文件对象。

试试这个:

$file = new Symfony\Component\HttpFoundation\File\File('http://root.com/pic.jpg');
$object->resize($file ,$IMAGES_DIR);