/**
* 上传图片的函数
*/
function upload_pic($file) {
global $DT, $DT_TIME;
if($file['error'] > 0 || $file['size'] == 0) return false;
$uploaddir = 'file/upload/comment/'.timetodate($DT_TIME, $DT['uploaddir']).'/';
require_once DT_ROOT.'/include/file.func.php';
is_dir(DT_ROOT.'/'.$uploaddir) or dir_create(DT_ROOT.'/'.$uploaddir);
require_once DT_ROOT.'/include/upload.class.php';
$do = new upload(array($file), $uploaddir);
if($do->is_image() && $do->save()) {
require_once DT_ROOT.'/include/image.class.php';
$saveto = $do->saveto;
$image_o = new image(DT_ROOT.'/'.$saveto);
if($image_o->g_w>$DT['max_image'] || $image_o->g_h>$DT['max_image'])
{
$new_width=$image_o->g_w;
if($new_width>$DT['max_image'])
{
$new_width=$DT['max_image'];
}
$new_height=intval($image_o->g_h*($new_width/$image_o->g_w));
$image_o->thumb($new_width,$new_height,$DT['thumb_album']);
}
if($DT['water_type'] == 2) {
$image = new image(DT_ROOT.'/'.$saveto);
$image->waterimage();
} else if($DT['water_type'] == 1) {
$image = new image(DT_ROOT.'/'.$saveto);
$image->watertext();
}
$saveto = linkurl($saveto);
if($DT['ftp_remote'] && $DT['remote_url']) {
require_once DT_ROOT.'/include/ftp.class.php';
$ftp = new dftp($DT['ftp_host'], $DT['ftp_user'], $DT['ftp_pass'], $DT['ftp_port'], $DT['ftp_path'], $DT['ftp_pasv'], $DT['ftp_ssl']);
if($ftp->connected) {
$exp = explode("file/upload/comment/", $saveto);
$remote = $exp[1];
if($ftp->dftp_put($do->saveto, $remote)) {
$saveto = $DT['remote_url'].$remote;
file_del(DT_ROOT.'/'.$do->saveto);
}
}
}
return $saveto;
}
}
/**
* @param integer $time [时间戳]
* @param integer $type [时间格式类型]
* @return [type] [返回时间格式类型]
*/
function timetodate($time = 0, $type = 6) {
if(!$time) $time = $GLOBALS['DT_TIME'];
$types = array('Y-m-d', 'Y', 'm-d', 'Y-m-d', 'm-d H:i', 'Y-m-d H:i', 'Y-m-d H:i:s');
if(isset($types[$type])) $type = $types[$type];
$date = '';
if($time > 2147212800) {
if(class_exists('DateTime')) {
$D = new DateTime('@'.($time - 3600 * intval(str_replace('Etc/GMT', '', $GLOBALS['CFG']['timezone']))));
$date = $D->format($type);
}
}
return $date ? $date : date($type, $time);
}
/**
* [linkurl description]
* @param [type] $linkurl [description]
* @return [type] [description]
*/
function linkurl($linkurl) {
return strpos($linkurl, '://') === false ? DT_PATH.$linkurl : $linkurl;
}
/**
* [_delete description]
* @param [type] $print [要进行删除的图片的链接]
* basename(path,suffix) 函数返回路径中的文件名部分。suffix可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
*/
function _delete($print){
$name=array();
$name = explode('.', basename($print));
delete_upload($print, $name['0']);
}
/**
* [delete_upload 图片删除函数]
* @param [type] $file [文件]
* @param [type] $userid [用户ID]
*/
function delete_upload($file, $userid) {
global $CFG, $DT, $DT_TIME, $ftp, $db;
if(!defined('DT_ADMIN') && (!$userid || $userid != match_userid($file))) return false;
if(!$file) return false;
$fileurl = $file;
require_once DT_ROOT.'/include/file.func.php';
if(strpos($file, 'file/upload/comment') === false) {//Remote
if($DT['ftp_remote'] && $DT['remote_url']) {
if(strpos($file, $DT['remote_url']) !== false) {
if(!is_object($ftp)) {
require_once DT_ROOT.'/include/ftp.class.php';
$ftp = new dftp($DT['ftp_host'], $DT['ftp_user'], $DT['ftp_pass'], $DT['ftp_port'], $DT['ftp_path'], $DT['ftp_pasv'], $DT['ftp_ssl']);
}
$file = str_replace($DT['remote_url'], '', $file);
$ftp->dftp_delete($file);
if(strpos($file, '.thumb.') !== false) {
$ext = file_ext($file);
$F = str_replace('.thumb.'.$ext, '', $file);
$ftp->dftp_delete($F);
$F = str_replace('.thumb.'.$ext, '.middle.'.$ext, $file);
$ftp->dftp_delete($F);
}
if($DT['ftp_save']) delete_upload(DT_PATH.'file/upload/comment/'.$file, $userid);
}
}
} else {
$exp = explode("file/upload/comment/", $file);
$file = DT_ROOT.'/file/upload/comment/'.$exp[1];
if(is_file($file) && strpos($exp[1], '..') === false) {
file_del($file);
if(strpos($file, '.thumb.') !== false) {
$ext = file_ext($file);
file_del(str_replace('.thumb.'.$ext, '', $file));
file_del(str_replace('.thumb.'.$ext, '.middle.'.$ext, $file));
}
}
}
if($DT['uploadlog']) $db->query("DELETE FROM {$db->pre}upload_".($userid%10)." WHERE item='".md5($fileurl)."'");
}
/**
* [match_userid description]
* @param [type] $file [description]
* @return [type] [description]
* basename(path,suffix) 函数返回路径中的文件名部分。suffix可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
*/
function match_userid($file) {
$name = explode('.', basename($file));
return $name[0];
return (substr($name[0], strpos($name[0], '-') === false ? 8 : 12));
return intval(substr($name[0], strpos($name[0], '-') === false ? 8 : 12));
}
* 上传图片的函数
*/
function upload_pic($file) {
global $DT, $DT_TIME;
if($file['error'] > 0 || $file['size'] == 0) return false;
$uploaddir = 'file/upload/comment/'.timetodate($DT_TIME, $DT['uploaddir']).'/';
require_once DT_ROOT.'/include/file.func.php';
is_dir(DT_ROOT.'/'.$uploaddir) or dir_create(DT_ROOT.'/'.$uploaddir);
require_once DT_ROOT.'/include/upload.class.php';
$do = new upload(array($file), $uploaddir);
if($do->is_image() && $do->save()) {
require_once DT_ROOT.'/include/image.class.php';
$saveto = $do->saveto;
$image_o = new image(DT_ROOT.'/'.$saveto);
if($image_o->g_w>$DT['max_image'] || $image_o->g_h>$DT['max_image'])
{
$new_width=$image_o->g_w;
if($new_width>$DT['max_image'])
{
$new_width=$DT['max_image'];
}
$new_height=intval($image_o->g_h*($new_width/$image_o->g_w));
$image_o->thumb($new_width,$new_height,$DT['thumb_album']);
}
if($DT['water_type'] == 2) {
$image = new image(DT_ROOT.'/'.$saveto);
$image->waterimage();
} else if($DT['water_type'] == 1) {
$image = new image(DT_ROOT.'/'.$saveto);
$image->watertext();
}
$saveto = linkurl($saveto);
if($DT['ftp_remote'] && $DT['remote_url']) {
require_once DT_ROOT.'/include/ftp.class.php';
$ftp = new dftp($DT['ftp_host'], $DT['ftp_user'], $DT['ftp_pass'], $DT['ftp_port'], $DT['ftp_path'], $DT['ftp_pasv'], $DT['ftp_ssl']);
if($ftp->connected) {
$exp = explode("file/upload/comment/", $saveto);
$remote = $exp[1];
if($ftp->dftp_put($do->saveto, $remote)) {
$saveto = $DT['remote_url'].$remote;
file_del(DT_ROOT.'/'.$do->saveto);
}
}
}
return $saveto;
}
}
/**
* @param integer $time [时间戳]
* @param integer $type [时间格式类型]
* @return [type] [返回时间格式类型]
*/
function timetodate($time = 0, $type = 6) {
if(!$time) $time = $GLOBALS['DT_TIME'];
$types = array('Y-m-d', 'Y', 'm-d', 'Y-m-d', 'm-d H:i', 'Y-m-d H:i', 'Y-m-d H:i:s');
if(isset($types[$type])) $type = $types[$type];
$date = '';
if($time > 2147212800) {
if(class_exists('DateTime')) {
$D = new DateTime('@'.($time - 3600 * intval(str_replace('Etc/GMT', '', $GLOBALS['CFG']['timezone']))));
$date = $D->format($type);
}
}
return $date ? $date : date($type, $time);
}
/**
* [linkurl description]
* @param [type] $linkurl [description]
* @return [type] [description]
*/
function linkurl($linkurl) {
return strpos($linkurl, '://') === false ? DT_PATH.$linkurl : $linkurl;
}
/**
* [_delete description]
* @param [type] $print [要进行删除的图片的链接]
* basename(path,suffix) 函数返回路径中的文件名部分。suffix可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
*/
function _delete($print){
$name=array();
$name = explode('.', basename($print));
delete_upload($print, $name['0']);
}
/**
* [delete_upload 图片删除函数]
* @param [type] $file [文件]
* @param [type] $userid [用户ID]
*/
function delete_upload($file, $userid) {
global $CFG, $DT, $DT_TIME, $ftp, $db;
if(!defined('DT_ADMIN') && (!$userid || $userid != match_userid($file))) return false;
if(!$file) return false;
$fileurl = $file;
require_once DT_ROOT.'/include/file.func.php';
if(strpos($file, 'file/upload/comment') === false) {//Remote
if($DT['ftp_remote'] && $DT['remote_url']) {
if(strpos($file, $DT['remote_url']) !== false) {
if(!is_object($ftp)) {
require_once DT_ROOT.'/include/ftp.class.php';
$ftp = new dftp($DT['ftp_host'], $DT['ftp_user'], $DT['ftp_pass'], $DT['ftp_port'], $DT['ftp_path'], $DT['ftp_pasv'], $DT['ftp_ssl']);
}
$file = str_replace($DT['remote_url'], '', $file);
$ftp->dftp_delete($file);
if(strpos($file, '.thumb.') !== false) {
$ext = file_ext($file);
$F = str_replace('.thumb.'.$ext, '', $file);
$ftp->dftp_delete($F);
$F = str_replace('.thumb.'.$ext, '.middle.'.$ext, $file);
$ftp->dftp_delete($F);
}
if($DT['ftp_save']) delete_upload(DT_PATH.'file/upload/comment/'.$file, $userid);
}
}
} else {
$exp = explode("file/upload/comment/", $file);
$file = DT_ROOT.'/file/upload/comment/'.$exp[1];
if(is_file($file) && strpos($exp[1], '..') === false) {
file_del($file);
if(strpos($file, '.thumb.') !== false) {
$ext = file_ext($file);
file_del(str_replace('.thumb.'.$ext, '', $file));
file_del(str_replace('.thumb.'.$ext, '.middle.'.$ext, $file));
}
}
}
if($DT['uploadlog']) $db->query("DELETE FROM {$db->pre}upload_".($userid%10)." WHERE item='".md5($fileurl)."'");
}
/**
* [match_userid description]
* @param [type] $file [description]
* @return [type] [description]
* basename(path,suffix) 函数返回路径中的文件名部分。suffix可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
*/
function match_userid($file) {
$name = explode('.', basename($file));
return $name[0];
return (substr($name[0], strpos($name[0], '-') === false ? 8 : 12));
return intval(substr($name[0], strpos($name[0], '-') === false ? 8 : 12));
}