很多站长朋友们都不太清楚php批量传输文件,今天小编就来给大家整理php批量传输文件,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 批量大文件上传下载如何实现? 2、 php怎么实现批量上传图片?不是一张一张选择之后一起上传 就是打开文件夹全选直接全部上传。 3、 如何实现php上传多个文件 - 技术问答 4、 php如何批量上传大文件 5、 php+mysql 如何实现批量文件上传, 6、 php如何实现一次性上传多个文件 php 批量大文件上传下载如何实现?1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;
2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;
3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。
4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!
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不支持一个file表单一次上传多个文件,所以需要写很多个type为file的放在form表单下,但是名字要相同。用一个提交按钮,然后循环出所有的文件逐个上传。
php如何批量上传大文件其实,你的这个问题,是你的修改没有完全,
除了上述,你描述的地方需要修改外,还有一个地方需要修改,都在php.ini里面。
如:upload_max_filesize
你在修改完之后要重新启动服务器,让配置文件生效,
查看生效是否,最简单的方法,就是直接查看,phpinfo()打印出来的信息里面是否已经修改了。
希望能够帮助你。
php+mysql 如何实现批量文件上传,你要实现的这个功能,重点已经不是php或者mysql了。上传这个东西,不管你是单个上传还是批量上传,服务器端的差别是不大的。主要是,你要实现的“流程先是读出本地某文件夹下文件的列表再勾选想要上传的文件,一次性上传”这个功能,目前来看,是要用Flash/Flex来写了。
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批量传输文件的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php批量传输文件 php批量上传文件的详细内容...