导航:首页 > 编程语言 > php批量上传代码

php批量上传代码

发布时间:2023-05-12 19:21:31

⑴ 菜鸟一只,求php批量上传图片的整个代码。

这是我写的图片批量上传的类:你直接调用就行了:
<?php
function upload($fileName,$filePath)
{
//判断该文件是否是用户根据POST方式提交到服务器的上传文件

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 "出错文件:".$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']='文件过大!';
$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的图片上传的类,你可以去下载几个,看看怎么调用就行了

⑵ php,批量上传图片方法不要插件类的,也不要flash的。

将表单域中的文件域的name属性设置为一样并且以数组形式提交。比如
name="file[]"
这样,你用php获取他的值,这个值就是多维数组
比如
$FILES = $_FILES['file'];
这个时候,你这个变量$FILES就是一个多维数组了
然后用foeach循环遍历这个数组即可
foreach ( $FILES as $file ) {

这里之间的代码,就和你上传单张图片一样的代码就行
比如获取上传图片的类型: $Type = $file['type']

}

php中
$_GET $_POST $_REQUEST $_FILES等都是全局变量,而且都是数组形式
而数组和foreach循环搭配,那是很完美的,有这两个来搭配,就不难处理数组了,当然,你所谓的多图片上传,也就不是问题的问题了

⑶ PHP文件上传代码用法

php文件上传代码编写过程

先判断是否上传文件

如果有再来判断上传中是否出错

如果出错 则提示出错信息

如查没出错 再判断文件类型

如果类型符合条件 再判断指定目录中有没有存在该文件

如果没有就把该文件移至指定目录

在php中上传文件必须知道的几个东西

$_FILES[ myfile ][ name ] 是指被上传文件的名称

$_FILES[ myfile ][ type ] 是指被上传文件的类型

$_FILES[ myfile ][ size ] 是指被上传文件的大小 单位为字节(B)

$_FILES[ myfile ][ tmp_name ] 是指被上传文件存在服务器中的临时副本文件名称 文件被移动到指定目录后临文件将被自动消毁

$_FILES[ myfile ]["error"] 是指由文件上传中有可能出现的错误的状态码 关于各状态含义后在会说明

先来看一下HTML部分

代码如下 复制代码

?<form action="upload php" method="post" enctype="multipart/form data"> 上传 <input type=file name=myfile /> <input type=submit name=submit value="上传" /> </form>

说明

form标答的action="upload php"是指点击这个form中的submit的时候 这个上传命令会被发送到这个叫 upload php的页面去处理 method="post"是指以post方式去送 enctype="multipart/form data"属性规定了在提交这个表单时要使用哪种内容类型 在表单需要二进制数据时 比如文件内容 请使用"multipart/form data" 如果要上传文件 这个属性是必要的 input中的type="file"时 规定了应该把输入作为文件来处理 并且在input后面会有一个浏览的按钮

我们再来看一个PHP处理页面 upload php

代码如下 复制代码

<?php if($_FILES[ myfile ][ name ] != ) { if($_FILES[ myfile ][ error ] > ) { echo "错误状态 " $_FILES[ myfile ][ error ]; } else { move_uploaded_file($_FILES[ myfile ][ tmp_name ] "uploads/" $FILES[ myfile ][ name ]); echo "<script>alert(上传成功!);</script>"; } } else{ echo "<script>alert(请上传文件!);</script>"; } ?>

上面超级简单 我们现在来升级一下

upload php

代码如下 复制代码

<!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN"> <> <head> <title>ddd</title> <meta equiv="content type" content="text/; charset=UTF "> </head> <body> <! 文件上传要注意: 要有enctyp method="post" > <form enctype="multipart/form data" action="uploadProcess php" method="post" > <table> <tr><td>请填写用户名</td><td><input type=text name=username></td></tr> <tr><td>请简单介绍文件</td><td><textarea rows=" " cols=" " name=fileintro class="page_speeder_734321457"></textarea></td></tr> <tr><td>请上传你的文件</td><td><input type=file name=myfile></td></tr> <tr><td colspan=" "><input type=submit value="上传"><td></tr> </table> </form> </body> </>

uploadProcess php

代码如下 复制代码

<?php

//接收 $username=$_POST[ username ]; $fileintro=$_POST[ fileintro ]; //echo $username $fileintro; //获取文件信息 /* echo "<pre>"; print_r($_FILES); echo "</pre>"; */ //获取文件的大小 $file_size=$_FILES[ myfile ][ size ]; if($file_size> * * ){ echo "<script type= text/javascript >window alert( 文件不能大于 M )</script>"; exit(); }

//获取文件类型 $file_type=$_FILES[ myfile ][ type ]; if($file_type!="image/jpeg" && $file_type!="image/pjpeg"){ echo "文件类型只能是 jpg 格式"; exit(); }

//判断上传是否OK if(is_uploaded_file($_FILES[ myfile ][ tmp_name ])){ //得到上传的文件 转存到你希望的目录 $upload_file=$_FILES[ myfile ][ tmp_name ]; //防止图片覆盖问题 为每个用户建立一个文件夹 $user_path=$_SERVER[ DOCUMENT_ROOT ] "/file/up/" $username; if(!file_exists($user_path)){ mkdir ($user_path); }

//$move_to_file=$user_path "/" $_FILES[ myfile ][ name ]; //防止用户上传用户名相同的问题 $file_true_name=$_FILES[ myfile ][ name ]; $move_to_file=$user_path "/" time() rand( ) substr($file_true_name strripos($file_true_name " "));

//echo $upload_file $move_to_file; //中文要转码 if(move_uploaded_file($upload_file iconv("utf " "gb " "$move_to_file"))){ echo $_FILES[ myfile ][ name ] "上传成功"; }else{ echo "上传失败"; } }else{ echo "上传失败"; }

?>

注意:

我举个例子大家就知道 比如一个图片文件 pic jpg 我们用 strrchr处理 strrchr(pic jpg ) 它将返回 jpg 明白了吗?该函数返回指定字符在该字符串最后出现的位置后的字符 配合 substr() 我们就可以取到jpg 这样我们就得到了文件的后缀名 来判断上传文件是否符合指定格式 本程序把指定的格式放在一个数组中 实际使用时可根据需要添加

lishixin/Article/program/PHP/201311/20924

⑷ php函数move_uploaded_file批量上传问题

个人认为,不建议这样写上传代码

<?php
$Files=$_FILES['attachment'];
foreach($Filesas$file){//遍历取得的数组
if(!empty($file['name'])){//如果文件名不为空,也就是跳过没选择文件的上传

//这这里处理你是上传
move_uploaded_file($file['tmp_name'],'你要保存的文搜耐亏件名称和路径');
}世神

}

php中亩竖,对数组的操作,用foreach循环最方便和合适,for循环显然没有那个方便

⑸ php怎么实现批量上传图片不是一张一张选择之后一起上传 就是打开文件夹全选直接全部上传。

获取路径下的所有图片文件名,写入数据库或是某个变量,在别的页面调用程序上传,再从别的页面读出来就行了。

以下是示例代码:

<?php
function upload($fileName,$filePath)
{
//判断该文件是否是用户根据POST方式提交到服务器的上传文件

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 "出错文件:".$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']='文件过大!';
$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 批量上传 新手求指教

上传控件岁坦乎改成数组就可以了。然后循环执行你已经写完的这段
<input type='file' name='files[]'>
然后$_FILE就变成了一乎悉个数组,循环执信橡行上面代码即可。

⑺ php 批量大文件上传下载如何实现

1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;

2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;

3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。

4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!

⑻ php如何实现一次性上传多个文件

<?php
$max_files=5; //最多上传文件的个数,与 up.htm 中的 input file 控件的个数相同
$up_ok_files=0; //成功上传的文件个数
$up_folder="ups"; //保存上传文件的目标文件夹
if(isset($_FILES['myfile'])){
//由于 $_FILES['myfile'] 是个数组,所以需要使用循环遍历
for($i=0;$i<$max_files;$i++){
//如果未出错
if($_FILES['myfile']['error'][$i]==0){
if(move_uploaded_file($_FILES['myfile']['tmp_name'][$i],$up_folder."/".$_FILES['myfile']['name'][$i])){
//成功上传后,计数器增 1
$up_ok_files +=1;
}
else{
echo "<h4 style='color:red;'>在服务器中保存失败</h4>";
}
}
}
echo "<h4>成功上传 ".$up_ok_files. " 个文件</h4>";
}
?>

如果对 $_FILES['myfile'] 这个数组的结构不清楚,那么可以在循环之前加入这句代码将其显示出来:
print_r($_FILES['myfile']);

对这个数组的结构了解之后,理解上述代码就比较容易了。
foreach循环实现
常规下,php上传一张图片,页面上添加一个文件域,上传后,得到的数组是二维数组
转变一下,
页面上添加多个文件域,并且他们的name属性相同,而且是以数组形式提交(比如:name="file[]")
那么上传后,得到的是三维数组
而,php中,foreach循环对遍历数组那真是完美至极
用foreach遍历一次这个三维数组,得到的结果就又是二维数组,那么,就和上传一张图片一样一样的了

⑼ php代码: 哪位大侠知道 怎么不用表单上传文件(大批量,但每个文件就几K),

没试过
这个办法你看行亏雹不行
1 遍历对应的目录,找到要上传的文件及文件名
2 用PHP动态生成form表单,再生成<input file>(就是文件上传那个对象),再生成提交按钮
3 提交之后就和正常文件上传一样了。

如果不想让别人看到上传内容及文件名,你可以把form表单里的所有文件上传对象都隐洞空迅藏起来,用div就行吧。
至于一个超连接嘛,也可以,你把提交按钮改成一个超连接后纳此,用JS提交form也行~~~

⑽ PHP版怎么使用kindeditor4.1批量上传图片组件

将upload_json.php中的告陪一段改为:

$save_date=date("YmdHis");
//新文件名
$new_file_name=$save_date.'_'.rand(10000,99999).'.'.$file_ext;
//移动文件
$file_path=$save_path.$new_file_name;
$savePath.=$new_file_name;
if(move_uploaded_file($tmp_name,$file_path)===false){
搏族alert("上传文件失败。");
}else{
#####存储文件袜银蠢路径#####
$saveDatas=array('path'=>$savePath,'date'=>$save_date);
$mysql->addFile($saveDatas);
if(!empty($_GET['type'])){
$type=$_GET['type'];
header("Location:../list_up_file.php?type={$type}");
}
}
@chmod($file_path,0644);
$file_url=$save_url.$new_file_name;

header('Content-type:text/html;charset=UTF-8');
$json=newServices_JSON();
阅读全文

与php批量上传代码相关的资料

热点内容
子弹解压视频大全 浏览:319
鸿蒙加密等级 浏览:804
cocos2dluapdf 浏览:491
假的加密锁靠谱吗 浏览:176
经营圣手服务器怎么调 浏览:749
arduino手机编程 浏览:481
西医pdf下载 浏览:29
后浪电影学院pdf 浏览:813
程序员怎么做到不被人嫉妒 浏览:669
cmd新建文件夹md命令 浏览:570
php数组中的数值排序 浏览:832
安卓手机怎么避免小孩内购 浏览:171
联想服务器出现黄色叹号怎么办 浏览:991
约翰编译器制作教程 浏览:130
大地pdf 浏览:109
pdfplus 浏览:577
汇编O命令 浏览:970
plt转pdf 浏览:366
魔兽60宏命令大全 浏览:480
php志愿者网站源码 浏览:875