2017-06-22 108 views
0

如何从laravel 5中的public/images文件夹中删除图像文件?如何从laravel 5中的公共/图像文件夹中删除图像(URL数据)

我发现了一些例子,从这个网站,但我知道他们只是在他们record table使用文件名,但我使用的东西像我record tableURL e.g localhost/project/uploads/filename.jpg。所以,如果我想是这样的:

$image_path = $data->image; // the value is : localhost/project/image/filename.format 
    if(File::exists($image_path)) { 
     File::delete($image_path); 
    } 

的文件不会被删除

帮助请,谢谢

+0

的var_dump(文件::存在($ image_path))是真是假? –

+0

@AlfredoEM false – DarkCode999

+0

您可以尝试的几件事:检查是否存在某个权限问题或者检查您想要删除的文件是否存在于该位置。 – Abhishek

回答

1

如果你想删除你的服务器的图像,你必须引用文件的位置目录服务器,意味着你不能通过url链接来删除它。

通常Laravel 5文件位于public文件夹中。

比如:你的文件位于公共/图像

$image_path = "/images/filename.ext"; // Value is not URL but directory file path 
if(File::exists($image_path)) { 
    File::delete($image_path); 
} 

如果我可以从服务器参照URL删除图像,然后谷歌是第一目标:)

+0

好的。我知道了,所以我只是添加了一个名为image_name的新字段,并且上面的代码工作正常......感谢您的解释:D – DarkCode999

+0

也使用'public_path'函数。 – kjdion84

0

调用这个函数,并传递两个参数 $文件路径=路径您的文件存在 $文件名=你的文件的名称

public static function UnlinkImage($filepath,$fileName) 
{ 
    $old_image = $filepath.$fileName; 
    if (file_exists($old_image)) { 
     @unlink($old_image); 
    } 
} 
相关问题