使用ckeditor编辑器复制word文件里的图片,查看图片地址源码皆为file:///这种形式,后来便写了一个方法,在粘贴的时候注册个事件,用正则匹配类似的图片地址,再异步传到php脚本文件处理,处理方法逻辑为,使用file_get_contents读到图片地址,再使用file_put_contents写入指定目录,由于是在本地测试,没问题。svn到服务器,测试了下,发现图片都是0kb大小,后来使用is_file做测试,打印false,而在本地则是true,是不是file_get_contents在服务器读不到本地的图片。
// 将用户从word文档里粘贴过来的图像先存到本地目录,再改变其地址返回过去 public function tranPic() { // 检测 $_POST = unflip($_POST); $content = strval($_POST['html']); if (!$content) { echo ''; exit; } // 图片存放域名 $imgPath = C('TMPL_PARSE_STRING'); // 图片转存后的路径 $pre = '../Uploads/'; $pic = 'Ueditor/' . date('Ymd', time()) . '/'; mk_dir($pre . $pic); // 正则提取图片 $pattern = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpeg|\.jpg|\.bmp|\.bnp|\.png|\.GIF|\.JPG|\.BMP|\.BNP|\.PNG|\.JPEG]))[\'|\"].*?[\/]?>/"; preg_match_all($pattern, $content, $match); // 把图片地址替换为本项目中的地址 foreach ($match as $key => &$value) { if ($key > 0) { continue; } foreach ($value as $k => $v) { // 获取图片后缀,主要图片的前五个字符是file: if (substr($match[1][$k], 0, 5) == 'file:') { $ext = pathinfo($match[1][$k], PATHINFO_EXTENSION); $data = file_get_contents($match[1][$k]); $filename = uniqid() . '.' . $ext; file_put_contents($pre . $pic . $filename, $data); $content = str_replace($v, str_replace($match[1][$k], $imgPath['../Uploads/'] . $pic . $filename, $v), $content); } } } echo $content; }
回复讨论(解决方案)
是的, file_get_contents在服务器读不到本地的图片
但你可以考虑经本地服务器中转
那,请问如果经本地服务器中转,给个思路,或是还有什么其他的方法!!!
我换了一种方法,使用php中的curl的post上传文件,发现还是上传不了,错误返回码为26
ajax post提交试试
没用的,最后发现在服务器上php读不到file://开头的文件
刚刚又调了下,发现在服务器上压根就读不到本地的图片,看来此方法不行,有什么更好的方法么

Thesecrettokeepingaphp-poweredwebsiterunningsmoothlyunderheavyloadinVolvesserVeSkeystrategies: 1) pelaksanaanPodeCachingWithopCachetoreduceScriptexecutionTime, 2) UsedataBasequerycachingWnithSoRessendataBaBAboad, 3)

Anda harus mengambil berat tentang kebergantungan (DI) kerana ia menjadikan kod anda lebih jelas dan lebih mudah untuk dikekalkan. 1) Di menjadikannya lebih modular dengan decoupling kelas, 2) meningkatkan kemudahan ujian dan fleksibiliti kod, 3) menggunakan bekas DI untuk menguruskan kebergantungan kompleks, tetapi memberi perhatian kepada kesan prestasi dan kebergantungan bulat, 4) Amalan terbaik adalah bergantung kepada antara muka abstrak untuk mencapai gandingan longgar.

Ya, OptimizingaphpapplicationIspossibleandessential.1) pelaksanaanCachingUsingAputeDeducedeDataBaseload.2) OptimisedataTabaseseseshithindexing, eficientqueries, danConnectionPooling.3) EnhancecodeWithBuilt-Infungsi, EveringGlobalVariables

ThekeystrategiestoSignificLantantlyboostphpapplicationperformanceare: 1) useopcodecachinglikLikeopcachetoreduceExecutionTime, 2) OptimizedataBaseInteractionsWithPreparedStatementsandProperindexing, 3) ConfigureWebserverserverLikenginxWithPmforbetterShipter.

AphpdependencyInjectionContainerisatoLthatMatagesClassDependencies, EnhancingCodeModularity, Testability, andMaintainability.itactsascentralHubforcreatingandinjectingdependencies, sheReducingTightCouplingandeaseaseaseSunittesting.

Pilih DependencyInjection (DI) Untuk aplikasi besar, servicelocator sesuai untuk projek kecil atau prototaip. 1) DI meningkatkan kesesuaian dan modulariti kod melalui suntikan pembina. 2) ServiceLocator memperoleh perkhidmatan melalui pendaftaran pusat, yang mudah tetapi boleh menyebabkan peningkatan gandingan kod.

Phpapplicationscanbeoptimizedforspeedandeficiencyby: 1) enablingopcacheinphp.ini, 2) menggunakan preparedSwithpdofordatabasequeries, 3) menggantikanloopswitharray_filterandarray_mapfordataprocessing, 4) configuringnginywinginywinyvinyvinginy

PhpeMailvalidationInvolvestHreesteps: 1) formatValidationingRegularExpressionStocheckTheemailFormat; 2) dnsvalidationtoensurethedomainhasavalidmxrecord;


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Dreamweaver Mac版
Alat pembangunan web visual

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual
