Php Laravel 5.1如何检查目录中是否存在文件?

Php Laravel 5.1如何检查目录中是否存在文件?,php,laravel,file-upload,laravel-5.1,Php,Laravel,File Upload,Laravel 5.1,我有一个表单,用户可以将文件上传到上传文件夹。在控制器中,我需要检查文件是否已经存在于上传目录中,如果它存在,则不允许上传同一文件两次。 如何检查此项?如果您的文件存储在“公用”文件夹中,请尝试以下操作: \File::exists(public_path().'\\uploads\\'.$file->getClientOriginalName()) 可能问题在于您正在检查该文件是否存在于服务器的根文件夹中 试试这个 if (file_exists(public_path('up

我有一个表单,用户可以将文件上传到上传文件夹。在控制器中,我需要检查文件是否已经存在于上传目录中,如果它存在,则不允许上传同一文件两次。
如何检查此项?

如果您的文件存储在“公用”文件夹中,请尝试以下操作:

\File::exists(public_path().'\\uploads\\'.$file->getClientOriginalName())

可能问题在于您正在检查该文件是否存在于服务器的根文件夹中

试试这个

    if (file_exists(public_path('uploads/'.$file->getClientOriginalName()))) {
        return redirect()->back()->withInput()->withErrors([' File already exists.']);
    }

首先,您必须在控制器页面顶部提到使用文件

$imagepath = "1.jpg";

$directoryPath = 'user_img/'.$imagepath;

if(File::exists($directoryPath)){
    //echo "n exist"; die();
} else {  echo "not exists";   }

您是否尝试过如果(file_存在($filePath)),则不允许再次上载该文件?可能只是重定向一条错误消息,以便用户知道拒绝上传的原因?@Cameeob2003是的,我在我的控制器中尝试过:$filename='/public/uploads/'.$file->getClientOriginalName();如果(file_exists($filename)){return redirect()->back()->withInput()->withErrors(['文件已存在']);}