本帖最后由 miqi2 于 2009-12-28 16:23 编辑
- //修改时检验标题图片是否修改
- $defaultmessage = array();
- if(!empty($itemid)) {
- if(empty($_POST['subjectimage_value']) || !empty($_FILES['subjectimage']['name'])) { //当file删除时,或修改时执行删除操作
- $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname($modelsinfoarr['modelname'].'items').' WHERE itemid = \''.$itemid.'\'');
- $defaultmessage = $_SGLOBAL['db']->fetch_array($query);
- $hash = getmodelhash($_GET['mid'], $itemid);
- deletetable('attachments', array('hash' => $hash, 'subject' => 'subjectimage')); //删除附件表
- updatetable($modelsinfoarr['modelname'].'items', array('subjectimage' => ''), array('itemid'=>$itemid));
- $ext = fileext($defaultmessage['subjectimage']);
- if(in_array($ext, array('jpg', 'jpeg', 'png'))) {
- @unlink(A_DIR.'/'.substr($defaultmessage['subjectimage'] , 0, strrpos($defaultmessage['subjectimage'], '.')).'.thumb.jpg');
- }
- @unlink(A_DIR.'/'.$defaultmessage['subjectimage']);
- }
- }
复制代码 by models.func.php 937-line
lidq.jingwu请问是不是编辑的时候是由这个函数判断图片是否被修改的?
如果是的话那么 !empty($_FILES['subjectimage']['name']这句就是导致的吧?
!empty($_FILES['subjectimage']['name']这句的含义我理解是。
如果编辑文章提交的时候type='file' name='subjectimage'有这个input 存在 那么 也将清理掉以前的图片! |