我想上传多个文件,并将它们存储在一个文件夹中,并获取路径并将其存储在数据库中…任何好的例子,你寻找做多个文件上传...
注意:文件可以是任何类型...
发布于 2012-08-17 21:11:08
我知道这是一个老帖子,但一些进一步的解释可能会对试图上传多个文件的人有用……下面是你需要做的:
代码输入名称必须定义为数组,即name="inputName[]"
multiple
"$_FILES['inputName']['param'][index]"
multiple="multiple"
>E215>。在count之前使用array_filter()
。下面是一个糟糕的例子(只显示相关的代码)
HTML:
<input name="upload[]" type="file" multiple="multiple" />
PHP:
//$files = array_filter($_FILES['upload']['name']); //something like that to be used before processing files.
// Count # of uploaded files in array
$total = count($_FILES['upload']['name']);
// Loop through each file
for( $i=0 ; $i < $total ; $i++ ) {
//Get the temp file path
$tmpFilePath = $_FILES['upload']['tmp_name'][$i];
//Make sure we have a file path
if ($tmpFilePath != ""){
//Setup our new file path
$newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];
//Upload the file into the temp dir
if(move_uploaded_file($tmpFilePath, $newFilePath)) {
//Handle other code here
}
}
}
希望这能有所帮助!
发布于 2011-12-18 16:37:39
可以选择多个文件,然后使用
<input type='file' name='file[]' multiple>
执行上传的示例php脚本:
<html>
<title>Upload</title>
<?php
session_start();
$target=$_POST['directory'];
if($target[strlen($target)-1]!='/')
$target=$target.'/';
$count=0;
foreach ($_FILES['file']['name'] as $filename)
{
$temp=$target;
$tmp=$_FILES['file']['tmp_name'][$count];
$count=$count + 1;
$temp=$temp.basename($filename);
move_uploaded_file($tmp,$temp);
$temp='';
$tmp='';
}
header("location:../../views/upload.php");
?>
</html>
选定的文件将作为数组接收,其中包含
存储第一个文件名的$_FILES['file']['name'][0]
。
存储第二个文件名的$_FILES['file']['name'][1]
。
诸若此类。
发布于 2012-10-01 14:41:24
HTML
使用按钮调用函数id='dvFile'
;
button
;
onclick
创建div
JavaScript
function add_more() {
var txt = "<br><input type=\"file\" name=\"item_file[]\">";
document.getElementById("dvFile").innerHTML += txt;
}
PHP
if(count($_FILES["item_file"]['name'])>0)
{
//check if any file uploaded
$GLOBALS['msg'] = ""; //initiate the global message
for($j=0; $j < count($_FILES["item_file"]['name']); $j++)
{ //loop the uploaded file array
$filen = $_FILES["item_file"]['name']["$j"]; //file name
$path = 'uploads/'.$filen; //generate the destination path
if(move_uploaded_file($_FILES["item_file"]['tmp_name']["$j"],$path))
{
//upload the file
$GLOBALS['msg'] .= "File# ".($j+1)." ($filen) uploaded successfully<br>";
//Success message
}
}
}
else {
$GLOBALS['msg'] = "No files found to upload"; //No file upload message
}
通过这种方式,您可以添加所需数量的文件/图像,并通过php脚本处理它们。
https://stackoverflow.com/questions/2704314
复制相似问题