iT邦幫忙

0

laravel上傳特定檔案出現failed to open stream: Permission denied的錯誤訊息

各位大大好,
我開發的環境是win10/php7.1.8/laravel5.5/SQLite
我有一個檔案類型未知的資料庫檔(同事給我的時候說可能是用QT產出的),
用筆記本打開是這樣

https://ithelp.ithome.com.tw/upload/images/20180329/20109044WxmZcNxnte.png
用SQLite開啟能夠正常讀取

https://ithelp.ithome.com.tw/upload/images/20180329/20109044B6i4MjcY9y.png

原本希望是能夠實現上傳該檔案後保存檔案資料並解析檔案內容存到資料庫裡,
可是上傳該檔案後會跳出如下圖的訊息

https://ithelp.ithome.com.tw/upload/images/20180329/20109044rvXaKhgDOg.png
試著上傳同一個資料夾的其他檔案類型(exe.jpg.rar.csv.dll...等)都可以正常上傳並保存,
所以我想應該跟權限無關,
看php.ini後跟上傳有關的限制只有檔案大小而已,
下面是處理上傳的片段code

if ($request->isMethod('post')){
      
            $files = $request->file('source');

            foreach ($files as $file) {
              
          if ($file->isValid()){
           $originalName = $file->getClientOriginalName();
           $ext = $file->getClientOriginalExtension();
           $type = $file->getClientMimeType();
           $realPath = $file->getRealPath();
           $filename = date('Y-m-d-H-i-s') . '-' . uniqid() . '.' . $ext;
           $bool = Storage::disk('uploads')->put($filename, file_get_contents($realPath));
         // var_dump($bool);
           $uploadLog = TbUpload ::create([
             'user' => Auth::user()->name,
             'fileName' =>$filename,
             'originalName' =>$originalName,
             'ext' => $ext,
             'type' =>$type,
             'ip' => $request->ip(),
           ]);
           }
            }
             return redirect()->route('upload')->with('success','File uploaded successfully');
        }

請問有什麼方式可以處理這個檔案嗎,感謝。

1 個回答

WilliamHuang
iT邦研究生 1 級 ‧ 2018-03-30 18:11:31
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答