您当前的位置: 首页 > 网站编程 > PHP教程 > php文章中图片处理的使用

php文章中图片处理的使用

作者:不详 来源:网络 发布时间: 2014-08-22 14:35 点击:
array_diff($arr1,$arr2) php数组函数之一,用来计算数组的差集. 正则匹配html图片标签 用sinaeditor添加的图片删除操作 用法之一,今天晚上在用新浪编辑器发表文章的过程中. 使用到了此函数 问题描述: 文章中有图片若干.在增加文章的过程中自动上传到网站的图片目录中

php文章中图片处理的使用

  array_diff($arr1,$arr2)

  php数组函数之一,用来计算数组的差集.

  正则匹配html图片标签

  用sinaeditor添加的图片删除操作

  用法之一,今天晚上在用新浪编辑器发表文章的过程中.

  使用到了此函数

  问题描述:

  文章中有图片若干.在增加文章的过程中自动上传到网站的图片目录中

  在修改文章的过程中如果对图片进行相关的删除操作.那么虽然在代码中(已经存入数据库);

  已经删除了数据的标签.类似于<img src=http://......>这样的标签.但是图片的文件依旧存在于

  网站上.这时候需要一定的处理

  处理办法:

  首先:从数据库中得到原始的文章内容

  
从里面得到图片的文件名

  用到了正则

  方法如下

  


  代码如下:

  public function getimgsinarticle($content)

  {

  $temp = array();

  $imgs = array();

  preg_match_all('/http[^d]*[d]+[.](jpg|gif|png)/',$content,$temp);

  $temp = $temp[0];

  if(!empty($temp[0]))

  {

  for($i=0;$i<count($temp);$i++)

  {

  $imgs[$i] = pathinfo($temp[$i]);

  $imgs[$i] = $imgs[$i]['basename'];

  }

  return $imgs;

  }

  else

  {

  return false;

  }

  }

  对正则进行下解释,先匹配http四个字母然后匹配非数字的字符若干个.匹配数字字符至

  少一个,匹配点(.)一个,匹配以jpg或gif或png结尾从$congtent中查找.结果存入$temp中.

  将数据库中的原始数据中的图片保存在数组中.命名为$oldimgs

  这个地方我觉得应该改进下,存入后打印出来是二维数组.用起来有点费事

  注:我的图片名称是类似于这个样子命名的:"201111291322589013.jpg"

  第二步:

  从用户提交过来的内容中找到所有的图片方法如上.得到数组二命名为$newimgs

  对arr1和arr2求差集方法如下

  --也就是说如果原始数据中的图片不存在于用户新提交的内容中.那么将删除这个图片.

  代码如下:

  $oldimgs = $this->getimgsinarticle($oldarticledata['article_content']);

  $newimgs = $this->getimgsinarticle($data['articlecontent']);

  //print_r($newimgs);

  $newimgs = empty($newimgs)?array():$newimgs;

  if($oldimgs!=false)

  {

  $diff = array_diff($oldimgs,$newimgs);

  $diff = array_values($diff);

  if(!empty($diff))

  {

  for($i=0;$i<count($diff);$i++)

  {

  $this->delimg($diff[$i],ARTICLE_IMG_DIR);

  }

  }

  }

  删除图片的方法如下 很简单.

  


  代码如下:

  public function delimg($imgname,$dir)

  {

  @unlink($dir.'/'.$imgname);

  return true;

  }

  这样我的目的就达到了.当用户编辑了带有图片的文章.如果删除了图片.那么相应的图片也会从网站上删除

  得到文章中的图片名称的方法还可以应用到删除文章的过程中.

  在删除图片的方法中的$dir可以用realpath(__FILE__)加上各种"./""../"去给出图片目录相对于网站的目录

  对于得到html中的路径这里的正则写的不是很好.有待研究.最近发现一本正则的书.很不错
分享到:
本文"php文章中图片处理的使用"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4