2017-05-04 95 views
0
$path = public_path(). '/Images/'; 
$this->MakeDirectory($path); 

$this->DeleteOldProfileImage($path. \Auth::guard("api")->user()->ProfileImage); 

當我打印的網址:它是象下面這樣:C:\ XAMPP \ htdocs中\我\學習\ ADMIN /公/圖片/ Ajax的loader.gif問題而刪除文件:Laravel 5.4

作爲本地主機上的以下代碼,文件不存在。

private function DeleteOldProfileImage($filePath) { 
    if (\File::exists($filePath)) 
    {  
     \File::delete($filePath); 
    } 
} 

當我在服務器上運行相同的代碼,它的工作原理。我認爲這是由於斜槓。你能建議嗎?

回答

1

嘗試通過realpath()運行您的路徑,它應該清理混合斜線並返回完全合格的路徑。

按照docs

echo realpath('/windows/system32'); 

將返回

C:\WINDOWS\System32 

因此,嘗試運行

$path = public_path(). '/Images/'; 
$this->MakeDirectory(realpath($path)); 
+0

我嘗試這樣做:'$ PATH =真實路徑(public_path()); dd($ path);'並且返回** C:\ xampp \ htdocs \ My \ Learning \ admin \ public **,當我嘗試這個時:'$ path = realpath(public_path()。'/ Images'); dd($ path);'它返回false !!!! – Pankaj

+0

如果realpath()返回false,則表示您的路徑不存在。嘗試在MakeDirectory()調用中使用它。 – nageeb

+1

感謝您教授'realpath()'新東西 – Pankaj