如何删除Laravel中文件夹或存储中的所有图像?

时间:2018-08-11 01:23:21

标签: php laravel domdocument unlink domxpath

我已经使用 summernote 创建了“ create_post”。因此,我可以在现场上传文本和图像。但是现在我想删除我的帖子。我可以从数据库和文件夹中删除帖子和图像,但帖子中只能删除一个图像。如果我有很多图像,如何删除所有图像?到目前为止,这里是我的代码。

  

图片来源$ post_id

<html>  
........
     <div id="wrapper">
        <div class="item">
            <div class="img-wrapper">
                <img src="http://localhost/public/sample1.jpg"/>
                <p class="title">Sample 1</p>
            </div>
        </div>
        <div class="item">
            <div class="img-wrapper">
                <img src="http://localhost/public/sample2.jpg"/>
                <p class="title">Sample 2</p>
            </div>
        </div>
    </div>
.........
</html>
  

controller.php

public function destroy($post_id)
    {
        //
        $post = Post::findOrFail($post_id);
        $image_path = public_path(). '/upload/' . $post->isi;
        $doc = new DOMDocument();
        libxml_use_internal_errors(true);
        $doc->loadHTML($image_path);//get image form html

        $ext = new DOMXPath($doc);
        /*$srcs = $ext->query('//img/@src');//jikuk data soko tag src img
        foreach ($srcs as $src) {
            $result = array();
            $result['img']= $ext->query('//img/@src', $src)[0]->value;
            $filename[] = basename($result);
            //$results[]=$result;
        }*/
        $src = $ext->evaluate('string(//img/@src)');
        $filename = basename($src);
        $img_path = public_path(). '/upload/'. $filename;//replace with folder path
        libxml_clear_errors();
        unlink($img_path);//delete image from path 

        $post->delete();

        Session::flash('alert-hapus', 'Post berhasil di HAPUS');
        return redirect()->route('metadata');

    }

有什么需要帮助的吗?

0 个答案:

没有答案