2张图片上传时,用时间来重命名,再多加个字母区分2张图,怎么实现?

chdach 2010-07-27 05:19:19
<tr>
<td align="right" bgcolor='#d0e0f4'>大图片:</td>
<td><input type="file" name="file[]" /></td>
</tr>
<tr>
<td align="right" bgcolor='#d0e0f4'>小图片:</td>
<td><input type="file" name="file[]" /></td>
</tr>

$filename = $_FILES["file"]["name"];
$str1 = explode(".",$filename[0]);
$str2 = explode(".",$filename[1]);

$filename1 = "0".".".$str1[1];
$filename2 = "0".".".$str2[1];

$preview1=S.time($newDate).$filename2;
$preview0=time($newDate).$filename1;

for($i=0;$i<count($filename);$i++){
move_uploaded_file($_FILES['file']['tmp_name'][$i],$dir.$preview.$i);
}

这样子是肯定不对的,请教高手,我该怎么修改呢??
...全文
186 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chdach 2010-07-27
多谢各位大侠帮忙,我用2楼的方法解决 了这个问题了,3楼的方法由于跟我的写法有点出入,没试用,不知道可行不可行,我想应该也是可以的吧,不过还是得感谢你们鼎力相助
回复
xuzuning 2010-07-27
foreach($_FILES["file"]["name"] as $i=>$f) {
if(! $f) continue; //没有上传则跳过
list($fn, $ext) = split('.', $f); //分别取得主文件名和后缀
$fn = time() . chr(ord('a'+$i)) . ".$ext"; //用时间命名目标文件,并将附加一字母防止重名
move_uploaded_file($_FILES['file']['tmp_name'][$i], $dir.$fn); //保存上传文件
}
回复
Dleno 2010-07-27
$filename1 = "0".".".$str1[count($str1)-1];
$filename2 = "0".".".$str2[count($str2)-1];

$preview1=S.time($newDate).$filename2;
$preview0=time($newDate).$filename1;

for($i=0;$i<count($filename);$i++){
move_uploaded_file($_FILES['file']['tmp_name'][$i],$dir.${"preview$i"});
}
回复
amani11 2010-07-27
不过需要解决一个问题,会不会同一时间,比较多,上传,影响效率。。。。可以多加几个字母

function randName()
{
do
{
//随机文件名,
}while(文件名存在于目录);
return 文件名;
}
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告