急求:php上传图片代码的修改

以下是php上传图片的代码,但是上传的图片并没有重命名,而且都是上传到图片文件夹的根目录!这样很不少。请帮忙在我给的程序上做以下修改:1.上传目录改成:创建的upimag... 以下是php上传图片的代码,但是上传的图片并没有重命名,而且都是上传到图片文件夹的根目录!这样很不少。请帮忙在我给的程序上做以下修改:
1.上传目录改成:创建的 upimages/年/月/日/ 目录
2.将要上传的文件用在服务器端重名为 (时分秒+三位随机数)后缀类型保值不变

function getname($exname){
$dir = "upimages/";
$i=1;
if(!is_dir($dir)){
mkdir($dir,0777);
}

while(true){
if(!is_file($dir.$i.".".$exname)){
$name=$i.".".$exname;
break;
}
$i++;
}

return $dir.$name;
}

$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1)));
$uploadfile = getname($exname);

move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile);

$uploadfile="admin/".$uploadfile;

$jianjie=$_POST[jianjie];
$addtime=$nian."-".$yue."-".$ri;
回答中要加上注释哦~
展开
 我来答
闲来聊聊
推荐于2016-06-13 · TA获得超过387个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:151万
展开全部
把代码粘贴到编辑器
希望对你有用 呵呵

<?php
function getname($dir,$exname){
if(!is_dir($dir)){
mkdir($dir,0777); //假如没有upimages 则创建
}
$year = date("Y");
$month = date("m");
$day = date("d");
$filename = date("His").rand(100,999);
$filedir = $year."/".$month."/".$day;
if(!is_dir($dir.$filedir)){
mkdir($dir.$filedir,0777); //假如 upimages中没有 当前 “年/月/日/”的文件夹 则创建
}
/*
while(true){
if(!is_file($dir.$i.".".$exname)){
$name=$i.".".$exname;
break;
}
$i++;
}
*/
return $filedir.$filename.".".$exname; //绝对路径 要上传文件要在
}
/********/
$dir = "/var/webroot/upimages/";//定义要上传的文件夹的路径 服务器的绝对路径 windows 可以写 D:/www/upimages/
$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1)));
$uploadfile = getname($dir,$exname); //例如 $uploadfile ="2009/05/21/173029888.jpg"

if(move_uploaded_file($_FILES['upfile']['tmp_name'], $dir.$uploadfile)){
exit("OK");
}
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyin_cheng
2009-05-21 · TA获得超过260个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:128万
展开全部
<?php
# $store_path 图片上传路径
# 表单的 name
# 限制上传的图片大小
#
function image_upload($store_path,$pic_input,$size){ # 图片上传,返回图片名称
global $_FILES;
if(empty($store_path)) $store_path = "upimages/"; # 请在这里修改你的目录生成规则即可

$ARR_IMG = array("image/x-png","image/pjpeg","image/jpeg","image/gif"); # 限制图片格式
$image_name = $_FILES[$pic_input]["name"];
$image_temp = $_FILES[$pic_input]["tmp_name"];
$image_type = $_FILES[$pic_input]["type"];
$image_size = $_FILES[$pic_input]["size"];
if(!in_array($image_type,$ARR_IMG))
$imagename="";
else
$ext = explode('.',$image_name);
$num = count($ext)-1; # 图片的后缀
$imagename = date("His").RAND(100,999).'.'.$ext[$num]; # 图片名称:时分秒+三位随机数
if($imagename && ($image_size < $size*1024)){
if(file_exists($store_path.$imagename))
@unlink($store_path.$imagename); # 删除同名的图片
if(@move_uploaded_file($image_temp,$store_path.$imagename))
return $imagename; # 上传成功后返回图片名称
else
return "";
}else{
return "";
}
}
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
39750201
2009-05-21
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式