主题: 我自己做的php上传改经程序,希望大家喜欢
作者: fdwqy, 发布日期: 2009-10-24 23:51:59, 浏览数: 5092
<?php
$mdate=date('md');//得到当前时间,如;20070705163148 
function randomkeys($length)
{
$pattern = '1234567890abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLOMNOPQRSTUVWXYZ'; //字符池
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
//文件保存目录路径
$save_path = './../attached/'.$mdate.'/';
//文件保存目录URL
$save_url = './../attached/'.$mdate.'/';
//定义允许上传的文件扩展名
$ext_arr = array('gif', 'jpg', 'jpeg', 'png', 'bmp');
//最大文件大小
$max_size = 1000000;
//更改目录权限
@mkdir($save_path, 0777);

//有上传文件时
if (empty($_FILES) === false) {
//原文件名
$file_name = $_FILES['imgFile']['name'];
//服务器上临时文件名
$tmp_name = $_FILES['imgFile']['tmp_name'];
//文件大小
$file_size = $_FILES['imgFile']['size'];
//检查文件名
if (!$file_name) {
alert("请选择文件。");
}
//检查目录
if (@is_dir($save_path) === false) {
alert("上传目录不存在。");
}
//检查目录写权限
if (@is_writable($save_path) === false) {
alert("上传目录没有写权限。");
}
//检查是否已上传
if (@is_uploaded_file($tmp_name) === false) {
alert("临时文件可能不是上传文件。");
}
//检查文件大小
if ($file_size > $max_size) {
alert("上传文件大小超过限制。");
}
//获得文件扩展名
$temp_arr = explode(".", $file_name);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext);
//检查扩展名
if (in_array($file_ext, $ext_arr) === false) {
alert("上传文件扩展名是不允许的扩展名。");
}
//fm
//移动文件
$date=date('mdhis');//得到当前时间,如;20070705163148 
$file_name=randomkeys(8).$date.'.'.$file_ext;//得到一个新的文件为'20070705163148.jpg',即新的
//fm结束
$file_path = $save_path . $file_name;
if (move_uploaded_file($tmp_name, $file_path) === false) {
alert("上传文件失败。");
}
$file_url = $save_url . $file_name;
//插入图片,关闭层
echo '<html>';
echo '<head>';
echo '<title>Insert Image</title>';
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
echo '</head>';
echo '<body>';
echo '<script type="text/javascript">parent.KE.plugin["image"].insert("' . $_POST['id'] . '", "' . $file_url . '","' . $_POST['imgTitle'] . '","' . $_POST['imgWidth'] . '","' . $_POST['imgHeight'] . '","' . $_POST['imgBorder'] . '");</script>';
echo '</body>';
echo '</html>';
}

//提示,关闭层
function alert($msg)
{
echo '<html>';
echo '<head>';
echo '<title>error</title>';
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
echo '</head>';
echo '<body>';
echo '<script type="text/javascript">alert("'.$msg.'");history.back();</script>';
echo '</body>';
echo '</html>';
exit;
}
?>
作者: 隔夜的菜包, 发布日期: 2009-11-07 23:50:44
etc_01.gif 这里高手很多...
回复
作者: 深蓝色的我, 发布日期: 2010-04-14 21:10:45
今天刚好在研究这个,多谢提供研究!
回复
作者: 网坤, 发布日期: 2010-12-07 10:51:44
这个怎么进行调用呢?能不能给一个例子看看。谢谢啊。
回复
发表新帖 发表回复