0

如何将已经上传的文件移动到 laravel4 中的另一个位置。我将上传的文件保存在我的项目文件夹中的临时文件夹中,路径为'public/images/temp/'. 文件正在成功上传到该临时文件夹。但我在这之间做一个支付选项。所以只有当付款成功时,我才需要通过重命名将它从临时文件夹移动到另一个文件夹,路径是'public/images/consult/'

我尝试了 FILE::Move() 和 FILE::delete() 但没有奏效。我使用的代码是:

$filename1 = Session::get('email_filename1'); //filename of file stored in temporary folder

$ext = substr(strrchr($filename1,'.'),1);

$newfilename1 = 'Email_'.Str::random(20).'_'.Session::get('patient_id').'.'.$ext;

$oldfile = public_path().'images/consultation_files/temp/'.$filename1;

$newfile = public_path().'images/consultation_files/'.$newfilename1;

 File::move($oldfile, $newfile);

如果有人知道,请分享您的解决方案。会很有帮助的。。

日志显示:

[2015-02-05 11:27:54] log.ERROR:/var/www/html/myrpoject/vendor/laravel/framework/src/Illuminate/Routing/ 中的异常 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' Router.php:1429 堆栈跟踪:#0 /var/www/html/myrpoject/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1050): Illuminate\Routing\Router->handleRoutingException(Object(Symfony \Component\Routing\Exception\ResourceNotFoundException))

:#1/var/www/html/myrpoject/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1014): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))

:#2/var/www/html/myrpoject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(530): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))

:#3/var/www/html/myrpoject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(506): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))

:#4 /var/www/html/myrpoject/public/index.php(50): Illuminate\Foundation\Application->run()

:#5 {main} [] []

4

1 回答 1

0

使用File::copy()方法

$source将是你的源头,$destination将是你的目的地

if ( ! File::copy($source, $desitination))
{
    die("Couldn't copy file");
}

删除一个文件使用File::delete($filename);和多个文件使用File::delete($file1, $file2, $file3);

如果失败,请参阅app/storage/logs/laravel.loglukasgeiter 建议

我建议检查File::exists()然后执行File::delete($filename);

更多信息在这里

于 2015-02-04T13:01:06.727 回答