PHP多图上传取值问题

gdljw 2014-12-18 12:00:22
搞了一个多图上传,INPUT里指定了3个上传图片功能,自已搞了一下,发现上传成功了,图1能自动改名,图2和3不能自动改名,请问要怎样改?

$uploaddir = "uploadfiles/";//设置文件保存目录 注意包含/ 
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型
$patch="uploadfiles/";//程序所在路径

//获取文件后缀名函数
function fileext($filename)
{
return substr(strrchr($filename, '.'), 1);
}
//获取文件后缀名函数
function fileext2($filename2)
{
return substr(strrchr($filename2, '.'), 1);
}
//获取文件后缀名函数
function fileext3($filename3)
{
return substr(strrchr($filename3, '.'), 1);
}
//生成随机文件名函数
function random($length)
{
$hash = 'java-';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++)
{
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
$a=strtolower(fileext($_FILES['img1']['name']));
$b=strtolower(fileext2($_FILES['img2']['name']));
$c=strtolower(fileext3($_FILES['img3']['name']));
//判断文件类型
if(!in_array(strtolower(fileext($_FILES['img1']['name'])),$type))
{
$text=implode(",",$type);
echo "您只能上传以下类型文件: ",$text,"<br>";
}
//生成目标文件的文件名
else{
$filename=explode(".",$_FILES['img1']['name']);
$filename2=explode(".",$_FILES['img2']['name']);
$filename3=explode(".",$_FILES['img3']['name']);
do
{
$filename[0]=random(10); //设置随机数长度
$name=implode(".",$filename);
//$name1=$name.".Mcncc";
$uploadfile=$uploaddir.$name;
$filename[1]=random(10); //设置随机数长度
$name2=implode(".",$filename2);
//$name1=$name.".Mcncc";
$uploadfile2=$uploaddir.$name2;
$filename[2]=random(10); //设置随机数长度
$name3=implode(".",$filename3);
//$name1=$name.".Mcncc";
$uploadfile3=$uploaddir.$name3;
}
while(file_exists($uploadfile));
if (move_uploaded_file($_FILES['img1']['tmp_name'],$uploadfile)){

//if(is_uploaded_file($_FILES['file']['tmp_name'])){
//输出图片预览
//echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
//echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
//}
//else{
//echo "上传失败!";
}
if (move_uploaded_file($_FILES['img2']['tmp_name'],$uploadfile2)){

//if(is_uploaded_file($_FILES['file']['tmp_name'])){
//输出图片预览
//echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
//echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
//}
//else{
//echo "上传失败!";
}
if (move_uploaded_file($_FILES['img3']['tmp_name'],$uploadfile3)){

//if(is_uploaded_file($_FILES['file']['tmp_name'])){
//输出图片预览
//echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
//echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
//}
//else{
//echo "上传失败!";
}
}


$SourceFileName=$uploadfile;
$SourceFileName2=$uploadfile2;
$SourceFileName3=$uploadfile3;
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdljw 2014-12-18
  • 打赏
  • 举报
回复
原来那里设错了,谢谢了!
傲雪星枫 2014-12-18
  • 打赏
  • 举报
回复
這裡有問題, 不應該是$filename[0],$filename[1],$filename[2];而應該是$filename[0],$filename2[0],$filename3[0]

do 
{ 
$filename[0]=random(10); //设置随机数长度 
$name=implode(".",$filename); 
//$name1=$name.".Mcncc"; 
$uploadfile=$uploaddir.$name; 
$filename[1]=random(10); //设置随机数长度 
$name2=implode(".",$filename2); 
//$name1=$name.".Mcncc"; 
$uploadfile2=$uploaddir.$name2; 
$filename[2]=random(10); //设置随机数长度 
$name3=implode(".",$filename3); 
//$name1=$name.".Mcncc"; 
$uploadfile3=$uploaddir.$name3; 
}
改好后的程序

<?php
$uploaddir = "uploadfiles/"; //设置文件保存目录 注意包含/
$type = array(
    "jpg",
    "gif",
    "bmp",
    "jpeg",
    "png"
); //设置允许上传文件的类型
$patch = "uploadfiles/"; //程序所在路径
print_r($_FILES);
//获取文件后缀名函数
function fileext($filename) {
    return substr(strrchr($filename, '.') , 1);
}
//获取文件后缀名函数
function fileext2($filename2) {
    return substr(strrchr($filename2, '.') , 1);
}
//获取文件后缀名函数
function fileext3($filename3) {
    return substr(strrchr($filename3, '.') , 1);
}
//生成随机文件名函数
function random($length) {
    $hash = 'java-';
    $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
    $max = strlen($chars) - 1;
    mt_srand((double)microtime() * 1000000);
    for ($i = 0; $i < $length; $i++) {
        $hash.= $chars[mt_rand(0, $max) ];
    }
    return $hash;
}
$a = strtolower(fileext($_FILES['img1']['name']));
$b = strtolower(fileext2($_FILES['img2']['name']));
$c = strtolower(fileext3($_FILES['img3']['name']));
//判断文件类型
if (!in_array(strtolower(fileext($_FILES['img1']['name'])) , $type)) {
    $text = implode(",", $type);
    echo "您只能上传以下类型文件: ", $text, "<br>";
}
//生成目标文件的文件名
else {
    $filename = explode(".", $_FILES['img1']['name']);
    $filename2 = explode(".", $_FILES['img2']['name']);
    $filename3 = explode(".", $_FILES['img3']['name']);
    do {
        $filename[0] = random(10); //设置随机数长度
        $name = implode(".", $filename);
        //$name1=$name.".Mcncc";
        $uploadfile = $uploaddir . $name;
        $filename2[0] = random(10); //设置随机数长度
        $name2 = implode(".", $filename2);
        //$name1=$name.".Mcncc";
        $uploadfile2 = $uploaddir . $name2;
        $filename3[0] = random(10); //设置随机数长度
        $name3 = implode(".", $filename3);
        //$name1=$name.".Mcncc";
        $uploadfile3 = $uploaddir . $name3;
    } while (file_exists($uploadfile));

    if (move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile)) {
        //if(is_uploaded_file($_FILES['file']['tmp_name'])){
        //输出图片预览
        //echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
        //echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
        //}
        //else{
        //echo "上传失败!";
        
    }
    if (move_uploaded_file($_FILES['img2']['tmp_name'], $uploadfile2)) {
        //if(is_uploaded_file($_FILES['file']['tmp_name'])){
        //输出图片预览
        //echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
        //echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
        //}
        //else{
        //echo "上传失败!";
        
    }
    if (move_uploaded_file($_FILES['img3']['tmp_name'], $uploadfile3)) {
        //if(is_uploaded_file($_FILES['file']['tmp_name'])){
        //输出图片预览
        //echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
        //echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
        //}
        //else{
        //echo "上传失败!";
        
    }
}
$SourceFileName = $uploadfile;
$SourceFileName2 = $uploadfile2;
$SourceFileName3 = $uploadfile3;
?>            

升级内容: 1、修正了编辑文章上传图片重复生成图片文件的问题 2、修正了同一IP24小时允许的最大上传附件数,超过时,上传图片直接返回错误的路径,uploadfile/ 3、修正了include/global.func.phpthumb函数问题 4、修正了整合后,utf8登陆乱码问题 5、修正了内容页面分页第一页为空问题 6、修正了专题多页分页时,导致500错误 7、修正了在没有开启php缓存时,问吧首页无法缓存问题 8、'FCKLang未定义'错误的解决办法问题:属编码问题,在本机使用记事本打开fckeditor\editor\lang\zh-cn.js,不用修改任何内容,重新保存后上传服务器覆盖原文件即可解决。 9、修正了栏目设置中在是否添加水印设置无效 10、修正了上传设置图片选项卡设置图片宽度无效问题 11、修正了自定义表单中上传条设置了后缀后,前台显示的还是所有的后缀都是可以的,实际上只有后台设置的后缀是可以上传的。 12、修正了表单向导SQL报错问题Parseerror:syntaxerror,unexpected';' 修改了模板文件/formguide/header.html{php$types=cache_read('search_type.php');} 13、修正了表单向导在系统没有安装到根目录下时,前台上传文件打开地址路径错误 14、修正了表单向导前台上传没有格式化上传大小字节数 15、修正了后台界面框架调用问题 16、修正了手动更新模板缓存后,等待页面操作成功后自动跳转返回的页面重复,显得很粗糙 17、修正了自动提取关键词关闭后没有用,照样自动提取问题 18、修正了表单向导,前台展示链接问题 19、修正了表单向导,信息无法删除问题 20、修正了专题暂停无效问题 21、分类TYPE无法再不同模型下添加相同分类名称 22、修正了黄页管理公司的问题只显示前20个公司 23、当关闭广告模块中的统计广告点击次数功能后,链接地址不正确: 24、升级后凡是缩略图为连接的,相关地方就会出现Warning:getimagesize 25、JS跨站调用后,内容显示链接怎么不对 26、评论页表情符号和换行问题 27、碎片bug权限等问题 28、修正了008sp1整合UC注册不能送积分 29、修正了总编没有选择来源的权限 30、修正了总编没有管理文章评论的权限 31、修正了专题的动态设置无效的问题 32、特定环境下验证码不出来问题 33、广告模块添加flash广告后,修改是没有取值 34、修正了修改产品信息的时候,同时更新产品的更新时间 35、修正了分页子标题也解析关联链接 36、修正了MySQLQuery:INSERTINTO`phpcms_keyword`(`tag`,`usetimes`,`lastusetime`)VALUES('启示','1','1243414371') MySQLError:Duplicateentry''forkey2 37、修正了IE8下面兼容问题 38、php最新版本下出现的问题程序乱码显示 39、修正了模块下面的header.tpl.php头部文件标准需要统一 40、修正了升级后,修改内容后,原升级地址被修改 41、直接访问header.tpl.php暴漏网站安装地址问题 42、邮件发送在不同环境下,发送失败问题、 43、修正了水印问题 44、修正了广告被屏蔽把ads里面的clickads.php点击里面带有ads的问题 45、修正了文章发表成功后,再修改文章将其选择为待审。提示操作成功。但未成功的问题 46、修正了member_cache表和member数据条数不一致的时候,导致全站白屏问题 47、修正了专题的动态设置无效设置生成静态为“否”多时候网站不能以动态模式浏览 48、修正了专题分类和专题在重新设置模块的“是否生成html”后,需要手动的一个个修改专题,和分类才可以修复链接地址 49、MySQLQuery:UPDATE`phpcms2008_category`SET`pitems`=`pitems`+1WHERE`catid`IN() MySQLError:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear')'atline1 MySQLErrno:1064 Message:MySQLQueryError 在未修复栏目前,添加信息出错的问题。--已解决 50、修正了specail标签中未增加调用,disabled=0 51、删除文件:admin/mymap.inc.php 52、修正了管理组帐号被禁用后,仍然可以访

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧