0

すでにアップロードされたファイルをlaravel4の別の場所に移動する方法. アップロードしたファイルを、プロジェクト フォルダーの一時フォルダーに path で保存しています'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 スタック トレース:#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 {メイン} [] []

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 に答える