小妹疑惑。上传多个文件如何取值。

wangtiantian23 2008-10-28 11:08:31
小妹我刚刚接触PHP不久,遇到一个问题请各位师哥帮忙解答。
我写了个一个可以上传多个文件javascript方法。
但是到了php里我不知道怎么去扑获,用户上传了哪些文件。
哪些是空白的没上传。

addpic.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>上传图片</title>
<script>
function addline(content)
{
newline=document.all.addpic.insertRow();
newline.insertCell().innerHTML='<input type="file" name="picfile"><input type="button" value="删除此行" onclick="del()">'

}
function del(){
document.all.addpic.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex);
}
</script>
</head>
<body>
<form name="form1" action="add.php" enctype="multipart/form-data" method="POST">
<table width="408" border="1" id="addpic">

<tr>
<th width="105" scope="row">上传图片:</th>
<td width="293"><input type="file" name="picfile"><input type="button" onClick="addline()" value="增加"></td>
</tr>
<tr>
<th height="20" colspan="2" scope="row">
<input type="submit" name="Submit" value="提交" />
</th>
</tr>
</table>
</form>
</body>
</html>

以上代码完全可以运行。
add.php
我就不会写了!请各位师哥代码明示!
我看网上说数组取出来,我不会取啊!
小妹在这里谢谢各位师哥了!
...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序猿之殇 2008-10-28
  • 打赏
  • 举报
回复
$arrFileName = $_FILES['attachments']['name'];
$arrTmpName = $_FILES['attachments']['tmp_name'];
$arrError = $_FILES['attachments']['error'];
这三行改成
$arrFileName = $arrAttachment['name'];
$arrTmpName = $arrAttachment['tmp_name'];
$arrError = $arrAttachment['error'];


程序猿之殇 2008-10-28
  • 打赏
  • 举报
回复
<input type="file" name="picfile"> 换成<input type="file" name="picfile[]">
要不然都是一个名字,后面只能获取最后一个附件.

add.php

$arrAttachment = $_FILES['picfile'];
if(is_array($arrAttachment))
{
//获得系统路径,如果没有则建立
$tmpDir = _ATTACH_DIR . date('ymd') . "/" . $id . "/";
if(!is_dir($tmpDir))
{
_mkdir($tmpDir);
}
$arrFileName = $_FILES['attachments']['name'];
$arrTmpName = $_FILES['attachments']['tmp_name'];
$arrError = $_FILES['attachments']['error'];
foreach($arrFileName as $key=>$value)
{
if($arrError[$key] != 0)
{
echo $arrError[$key];
continue;
}
$strExtend = "." . pathinfo($value, PATHINFO_EXTENSION);
$strSrcFileName = $arrTmpName[$key];
$strClientFileName = $arrFileName[$key];
if(preg_match("/\.(exe|php|js|htm|html|bat)/i", $strExtend))
{
echo $strExtend . "<br/>";
//unlink($strSrcFileName);
continue;
}
$strFileName = getRandomName() . $strExtend;
$strDestName = $tmpDir . $strFileName;
move_uploaded_file($strSrcFileName, $strDestName);
//入库
}
}
function getRandomName()
{
$strTime = date('YmdHis') . rand(1,1000);
return md5($strTime);
}

PleaseDoTellMeWhy 2008-10-28
  • 打赏
  • 举报
回复
input type="file" name="picfile">

改为

input type="file" name="picfile[]">

在add.php中使用 var_dump( $_FILES['picfile'] )可以查看具体信息!

21,887

社区成员

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

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