2017-06-22 19 views
0

laravel 5のpublic/imagesフォルダから画像ファイルを削除するには?laravel 5(URLデータ)のPublic/Imagesフォルダから画像を削除する方法

私はこのサイトからいくつかの例を見つけました、しかし、私は、彼らはちょうど彼らのrecord tableにファイル名を使用しているが、私は私のrecord tableURL例えば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); 
    } 

ファイルが

助けplsは、感謝

+0

のvar_dump(ファイル::存在します($ image_path))は真か偽ですか? –

+0

@AlfredoEM false – DarkCode999

+0

試してみることができること:いくつかのアクセス許可の問題があるかどうかを確認するか、削除するファイルが実際にその場所に存在するかどうかを確認してください。 – Abhishek

答えて

1

サーバからイメージを削除する場合は、ファイルの場所を参照する必要がありますディレクトリサーバーは、削除するためにURLリンクで参照できなかったことを意味します。

一般的に、Laravel 5ファイルは公開フォルダにあります。

例:私は、参照URLによってサーバから画像を削除することができた場合は、あなたのファイルは公共/画像

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

に配置されていて、Googleが最初のターゲットである:)

+0

私はそれを得たので、image_nameという名前の新しいフィールドとそのコードをうまく動作させる上に追加します。ちなみにあなたの説明のためにD – DarkCode999

+0

も ​​'public_path'関数を使います。 – kjdion84

0

コールこの機能を削除し、2つのパラメータ $ファイルパスを渡していない=あなたのファイルは $ファイル名を存在するパス=ファイル名

public static function UnlinkImage($filepath,$fileName) 
{ 
    $old_image = $filepath.$fileName; 
    if (file_exists($old_image)) { 
     @unlink($old_image); 
    } 
} 
関連する問題