玖叶教程网

前端编程开发入门

PHP自动获得远程图片到服务器上(原创)

好久没有写内容了,那是因为这些日子一直在开发自助建站平台,比想象中要复杂的多,今天小编主要给大家分享一下php自动获得远程图片到服务器上。网上的教程很多但是都很乱不统一,今天赛光时代小编详细的给大家介绍一下这个功能的实现。

整体思路:(摒弃了kindeditor自动远程图片比较累赘个人感觉)主要通过正则和php相关的函数来获取并切保存到服务器上。通过正则匹配编辑器中是否有远程图片,然后通过php函数进行逐步的处理上传到服务器上。先放上所有的代码写的有些雷人毕竟是新手还在研究中...

if (preg_match_all("/(src)=([\"|']?)([^ \"'>]+\.(gif|jpg|jpeg|bmp|png))\\2/i", $_POST['content'], $imgs)) {

$images = array_unique($imgs[3]);

$regex = $replace = array();

$path = '/uploadfile/image/' . date('Ymd') . '/';

if (!is_dir(SystemRoot.$path)) mkdirs(SystemRoot.$path);

foreach ($images as $img) {

$fileext = fileext($img);

$name = $path . md5($img . time()) . '.' . $fileext;

$content = @file_get_contents($img);

if (empty($content))continue;

$regex[0] = $img;

$replace[0] = $name;

}

}

$result = count($regex) > 0 ? array('regex' => $regex, 'replace' => $replace) : null;

if (isset($result) && $result) {

$image = $result['replace'][0];

$_POST['content'] = str_replace($result['regex'], $result['replace'],$_POST['content']);

}

A 通过正则去匹配出来编辑器中的内容的图片内容

B 制定上传文件的目录是哪里。

C 把获得的文件通过php函数创建到服务器的目录里。

D 把修改后的文件路径替换到编辑器里面的相应的图片地址的位置

E 最后把修改后的内容部分从新赋给要提交的字段

ok上述的方面就完毕了,整体思路有了只要有些php编程基础的就可以实现了。

整体来说就是这样的,同样的通过这个也可以找一个类去实现水印的功能,大家就自行去研究吧。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言