Php 通过干预编辑上传的图像

Php 通过干预编辑上传的图像,php,image,function,laravel,upload,Php,Image,Function,Laravel,Upload,我正在添加编辑已上载到我正在构建的购物车应用程序上的图像的功能。我能够上传一个图像罚款。我也能够完美地编辑每个字段,除了图像文件上传 我尝试使用上传功能中的相同代码在现有图像的基础上上传另一个图像,但不起作用并抛出错误 Call to a member function getClientOriginalExtension() on a non-object 我正在使用带有干预的Laravel框架,并访问了干预的主要站点,它没有显示更新或编辑方法。它只是显示了一个delete方法 我需要一些帮

我正在添加编辑已上载到我正在构建的购物车应用程序上的图像的功能。我能够上传一个图像罚款。我也能够完美地编辑每个字段,除了图像文件上传

我尝试使用上传功能中的相同代码在现有图像的基础上上传另一个图像,但不起作用并抛出错误

Call to a member function getClientOriginalExtension() on a non-object
我正在使用带有干预的Laravel框架,并访问了干预的主要站点,它没有显示更新或编辑方法。它只是显示了一个delete方法

我需要一些帮助来弄清楚如何在我的postEdit函数中更新图像

我真的尝试了我所知道的一切,并与谷歌研究了这一点,但无法解决这个问题

我的问题在于这行代码:

File::update('public/'.$product->image);
谢谢你给了我正确的方向

这里是图像上传功能(工作完美)

这里是编辑图像上传功能,我无法工作

public function postEdit() {
    $product = Product::find(Input::get('id'));


    if ($product) {
        File::update('public/'.$product->image);
        $product->update(Input::all());
        return Redirect::to('admin/products/index')
        ->with('message', 'Product Updated');
    }

    return Redirect::to('admin/products/index')
        ->with('message', 'Something went wrong, please try again');
}

首先,
文件
facade没有名为update的方法

您必须重新处理图像以更新它

其次,上传时抛出错误。这可能是因为图像没有正确地通过表单发送

确保窗体上的“文件”属性处于打开状态

{{ Form::open(array('route'=> array('aroute'),'method' => 'post', 'files' => true)) }}
如果您的文件仍未发送,请检查php.ini设置,因为图像的文件大小可能大于
post\u max\u size
upload\u max\u filesize
中的设置值,大于该大小

也可以改变路线

$path = public_path('img/products/' . $filename);

要使用干预编辑图像,您需要保存文件

使用

然后你可以做

Image::make($path)->resize(468, 249)->save($path);

谁能回答这个问题?你说得对。抱歉耽搁了。我在朋友的帮助下找到了答案。这就是我所做的。首先,如您所说,将“files”=>设置为true。第二,移动$product->update(Input::all());下面是产品图片,确保图片属性在更新时被排除,因为图片属性已经设置好了。下面是完整的部分,这是常识。
$path = public_path() . 'img/products/' . $filename;
$image->move($path);
Image::make($path)->resize(468, 249)->save($path);