как переместить уже загруженный файл в другое место в 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: исключение ‘Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException’ в / var / www / html / myrpoject / vendor / laravel / framework / src / Illuminate / Routing / router.php: 1429: # 1 / var / www / html / myrpoject / vendor / laravel / framework / src / Подсветка / Маршрутизация / Router.php (1014): Подсветка \ Маршрутизация \ Маршрутизатор-> findRoute (Объект (Осветить \ Http \ Запрос))
: # 2 / var / www / html / myrpoject / vendor / laravel / framework / src / Illuminate / Foundation / Application.php (530): Подсветка \ Routing \ Router-> dispatch (Object (Подсветка \ 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): Подсветка \ Foundation \ Application-> run ()
: # 5 {main} [] []
использование 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.log
как предполагает Лукасгейтер
Я бы предложил проверить File::exists()
а затем выполнить File::delete($filename);
Других решений пока нет …