Laravel - 无法移动文件 [英] Laravel - Could not move the file

查看:1368
本文介绍了Laravel - 无法移动文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图上传一个文件,但是,我得到这个错误:无法移动文件



我的代码:

  $ directory =C:\ bck \; 
$ fname = pathinfo(Input :: file('file') - > getClientOriginalName(),PATHINFO_FILENAME);
$ fext = Input :: file('file') - > getClientOriginalExtension();
$ fullname = $ directory;
Input :: file('file') - > move($ fullname,$ fname);

错误:

 无法将文件C:\xampp\tmp\php6D32.tmp移动到C:\ bck\aaaa()

如果我把 $全名= $目录。 $ fname。 ''。 $ fext;它在 \ bck \ 中创建一个文件夹并将文件放到这个新文件夹中。但是我不想用文件名建立一个文件夹。

谢谢

解决方案

你需要设置 $ directory =C:\ your_project\public\uploads;



设置您的 uploads 文件夹具有写权限
$ b






或者你可以试试这个方法。编辑你的磁盘: config / filesystems.php

 'disks' => [
'uploads'=> [
'driver'=> 'local',
'root'=> public_path()。 '/ uploads',
],
'custom'=> [
'driver'=> 'custom',
'root'=> 'c:/ bck',
]
]

控制器

  public function uploadFile(Request $ request){
$ data = $ request-> all();
$ fileUpload = $ data ['file'];
$ originalFileName = $ fileName-> getClientOriginalName();
Storage :: disk('uploads') - > put($ originalFileName,file_get_contents($ fileUpload));


public function customUploadFile(Request $ request){
$ data = $ request-> all();
$ fileUpload = $ data ['file'];
$ originalFileName = $ fileName-> getClientOriginalName();
Storage :: disk('custom') - > put($ originalFileName,file_get_contents($ fileUpload));
}


I'm trying to upload a file but, I getting this error : Could not move the file.

My code:

$directory = "C:\bck\";
$fname = pathinfo(Input::file('file')->getClientOriginalName(), PATHINFO_FILENAME);
$fext = Input::file('file')->getClientOriginalExtension();
$fullname = $directory;
Input::file('file')->move($fullname, $fname);

Error:

Could not move the file "C:\xampp\tmp\php6D32.tmp" to "C:\bck\aaaa" ()

if i put $fullname = $directory . $fname . '.' . $fext; it create a folder inside \bck\ with the file name and put the file inside this new folder. But i don't want to create a folder with the file name.

Thank you

解决方案

You need to set $directory = "C:\your_project\public\uploads";

And Setting your uploads folder have write permission


Or you can try this way. Edit your disk at: config/filesystems.php

'disks' => [
    'uploads' => [
        'driver' => 'local',
        'root'   => public_path() . '/uploads',
    ],
    'custom' => [
        'driver' => 'custom',
        'root'   => 'c:/bck',
    ]
]

And handle at your Controller

public function uploadFile(Request $request) {
    $data   = $request->all();
    $fileUpload = $data['file'];
    $originalFileName = $fileName->getClientOriginalName();
    Storage::disk('uploads')->put($originalFileName, file_get_contents($fileUpload));
}

public function customUploadFile(Request $request) {
    $data   = $request->all();
    $fileUpload = $data['file'];
    $originalFileName = $fileName->getClientOriginalName();
    Storage::disk('custom')->put($originalFileName, file_get_contents($fileUpload));
}

这篇关于Laravel - 无法移动文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆