Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 替换上传文件Laravel 4_Php_File Upload_Replace_Laravel - Fatal编程技术网

Php 替换上传文件Laravel 4

Php 替换上传文件Laravel 4,php,file-upload,replace,laravel,Php,File Upload,Replace,Laravel,我正在尝试使用Laravel 4上载文件,并使用方法move()存储它们,但我想用相同的名称替换图像,而不删除以前存储的图像。我已经看了很多相关的问题,但是我找不到我想要的方法,很多人建议在添加同名的新图像之前删除图像。我只是想知道是否有一种方法,可以允许存储图像替换而不删除 我正在尝试这个: if(Input::hasFile('photo')) { $name = str_replace(array('/', '.'), '_', Hash::make(Input::get('login

我正在尝试使用Laravel 4上载文件,并使用方法
move()
存储它们,但我想用相同的名称替换图像,而不删除以前存储的图像。我已经看了很多相关的问题,但是我找不到我想要的方法,很多人建议在添加同名的新图像之前删除图像。我只是想知道是否有一种方法,可以允许存储图像替换而不删除

我正在尝试这个:

if(Input::hasFile('photo'))
{
  $name = str_replace(array('/', '.'), '_', Hash::make(Input::get('login').Input::get('code'))).'.'.Input::file('photo')->getClientOriginalExtension();
  Input::file('photo')->move('images', $name);
}
但这在使用新名称的图像时效果很好

如果在存储之前删除图像,则在任何情况下都可以正常工作:

if(Input::hasFile('photo'))
{
  File::delete('images/'.$name);
  $name = str_replace(array('/', '.'), '_', Hash::make(Input::get('login').Input::get('code'))).'.'.Input::file('photo')->getClientOriginalExtension();
  Input::file('photo')->move('images', $name);
}

我只是想知道是否存在一种不用
File::delete()

的方法。建议:为什么不添加到目前为止的代码,用delete来显示这一点,以便更清楚地知道您希望以不同的方式使用哪一部分。我不太确定,即使事实上不一样。我不明白目标是什么。是保留旧图像还是删除旧图像?如果你想删除它,为什么不使用delete方法呢?我只想上传一张有名字的图片(例如photo.jpg)。如果这个名字是拍摄的,我想用新图片替换旧图片。我认为方法
move()
可以做到这一点。我找到的解决方案是删除旧图像并用相同的名称保存新图像。我只是想知道是否有一种方法可以做到这一点而不删除。