你要實(shí)現(xiàn)的這個(gè)功能,重點(diǎn)已經(jīng)不是php或者mysql了。上傳這個(gè)東西,不管你是單個(gè)上傳還是批量上傳,服務(wù)器端的差別是不大的。主要是,你要實(shí)現(xiàn)的“流程先是讀出本地某文件夾下文件的列表再勾選想要上傳的文件,一次性上傳”這個(gè)功能,目前來(lái)看,是要用Flash/Flex來(lái)寫了。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供五原企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為五原眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
獲取路徑下的所有圖片文件名,寫入數(shù)據(jù)庫(kù)或是某個(gè)變量,在別的頁(yè)面調(diào)用程序上傳,再?gòu)膭e的頁(yè)面讀出來(lái)就行了。
以下是示例代碼:
?php
function upload($fileName,$filePath)
{
//判斷該文件是否是用戶根據(jù)POST方式提交到服務(wù)器的上傳文件
foreach($_FILES[$fileName]['tmp_name'] as $k=$v)
{
if($_FILES[$fileName]['name'][$k]!="")
{
$result=check($_FILES[$fileName]['size'][$k],$_FILES[$fileName]['type'][$k],$_FILES[$fileName]['name'][$k]);
if($result['error']==1)
{
echo $result['msg']."br";
echo "出錯(cuò)文件:".$result['name']."br";
}
else
{
$arrTT=explode(".",$_FILES[$fileName]['name'][$k]);
$extName=$arrTT[count($arrTT)-1];
$NewName=sha1(microtime()).".".$extName;
if(move_uploaded_file($v,$filePath.$NewName));
$arrWW[]=$NewName;
}
}
}
return $arrWW;
}
function check($size,$types,$name)
{
if($size=5242880)
{
$result['msg']='文件過(guò)大!';
$result['error']=1;
$result['name']=$name;
}
$arrType=array('image/pjpeg','image/gif','image/x-png','audio/mp3','application/msword','application/vnd.ms_excel','application/octet-stream','application/vnd.ms-powerpoint');
if(!in_array($types,$arrType))
{
$result['msg']='文件類型不匹配!';
$result['error']=1;
$result['name']=$name;
}
return $result;
}
?
php的批量上傳.一般來(lái)說(shuō)需要借助flash才能實(shí)現(xiàn),可以選擇多個(gè)文件.
其實(shí)你為何要7個(gè)字段呢.應(yīng)該是單個(gè)字段.多條記錄的結(jié)構(gòu).
單個(gè)上傳的你能弄明白么.