Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/demo.ncriptech.com/../cms.ncriptech.com/app/Traits/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php namespace App\Traits; use Illuminate\Http\Request; use Image; use File; trait SummernoteEditor { /** * @param Request $request */ public function contentMedia($content) { // Get content with media file $dom = new \DomDocument(); libxml_use_internal_errors(true); $dom->encoding = 'utf-8'; $dom->loadHtml(utf8_decode($content), LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $images = $dom->getElementsByTagName('img'); // foreach <img> in the submited content foreach($images as $img){ $src = $img->getAttribute('src'); // if the img source is 'data-url' if(preg_match('/data:image/', $src)){ // get the mimetype preg_match('/data:image\/(?<mime>.*?)\;/', $src, $groups); $mimetype = $groups['mime']; // Generating a random filename $filename = uniqid().'_'.time(); //Crete Folder Location $path = public_path('uploads/media/'); if (! File::exists($path)) { File::makeDirectory($path, 0777, true, true); } $filepath = "/uploads/media/$filename.$mimetype"; // @see http://image.intervention.io/api/ $image = Image::make($src) // resize if required //->resize(500, null) ->resize(500, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); }) ->encode($mimetype, 100) // encode file to the specified mimetype ->save(public_path($filepath)); $new_src = asset($filepath); $img->removeAttribute('src'); $img->setAttribute('src', $new_src); } // <!--endif } // <!- // Converted content $description = $dom->saveHTML(); return $description; } }