导航:首页 > 编程语言 > php分段上传

php分段上传

发布时间:2022-09-08 00:40:45

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中怎么实现文件的分类上传

先判断上传文件的类型,不同的类型写在不同的文件夹
<?
if(isset($_POST['send']) && $_POST['send']=='true'){
print_r($_FILES);
$type = $_FILES['file']['type'];
switch($type){
case 'image/jpeg':
$dfolder = 'jpg';
break;
case 'application/pdf';
$dfolder = 'pdf';
break;
case 'text/plain';
$dfolder = 'txt';
break;
}

mkdir($dfolder,0777);

if(move_uploaded_file($_FILES['file']['tmp_name'],$dfolder.'/'.$_FILES['file']['name'])){
echo 'upload success';
}
}else{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body>
<form name="form1" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="hidden" name="send" value="true">
<input type="submit" value="submit">
</form>
</body>
</html>
<? } ?>

Ⅲ 如何实现php上传多个文件 - 技术问答

PHP不支持一个file表单一次上传多个文件,所以需要写很多个type为file的放在form表单下,但是名字要相同。用一个提交按钮,然后循环出所有的文件逐个上传。

Ⅳ php 上传

php的文件上传机制是把用户上传的文件保存在php.ini的upload_tmp_dir定义的临时目录(默认是系统的临时目录,如:/tmp)里的一个类似phpxXuoXG的随机临时文件,程序执行结束,该临时文件也被删除。PHP给上传的文件定义了四个变量:(如form变量名是file,而且register_globals打开)

$file #就是保存到服务器端的临时文件(如/tmp/phpxXuoXG )

$file_size #上传文件的大小

$file_name #上传文件的原始名称

$file_type #上传文件的类型

推荐使用:

$_FILES['file']['tmp_name']

$_FILES['file']['size']

$_FILES['file']['name']

$_FILES['file']['type']

Ⅳ php如何实现文件上传啊

PHP一般使用POST方法上传文件,下面是一个简单的文件上传示例,里面有相关的注释:

up.htm文件:

----------

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<title>UpSample</title>

</head>

<body>

<formaction="up.php"method="post"enctype="multipart/form-data">

<!--备注:表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作,并且method要设置为"post"-->

File:<br/>

<inputtype="file"name="upfile"size="30"><br/>

<!--上传框要设置type="file"-->

<br/>

<inputtype="submit"value="Upload">

</form>

</body>

</html>

----------

up.php文件

----------

<?php

if(is_uploaded_file($_FILES["upfile"]["tmp_name"])){

//如果有文件上传

//is_uploaded_file--判断文件是否是通过HTTPPOST上传的,返回布尔值

//$_FILES['upfilename']['...'],其中的'upfilename'即为上传框的name属性

//$_FILES['upfile']['tmp_name']--文件被上传后在服务端储存的临时文件名,一般是系统默认

if(!eregi('pdf',$_FILES['upfile']['type'])){

//我们这里假设你要上传一个pdf文件

//if(!eregi('pdf',$_FILES['upfile']['type']))这个是判断上传文件类型的,是不是pdf文件,当然,若是想判断是否是jpg文件的话,将pdf改成jpg就可以了,即if(!eregi('jpg',$_FILES['upfile']['type']))

//$_FILES['upfile']['type']是文件的MIME类型,如果浏览器提供此信息的话。例如“image/gif”

echo'TheuploadedfileisnotanpdfFile!Pleaseuploadarightfile!';

}else{

$filename=$_FILES['upfile']['name'];

//$filename=$_FILES['upfile']['name'],这里是指定上传后的文件名,这里使用的仍是原来的文件名字,($_FILES['upfile']['name']是原始文件的名字)

if(move_uploaded_file($_FILES["upfile"]["tmp_name"],dirname(__FILE__)."/upload_file/".$filename)){

//这里就是上传文件

//dirname(__FILE__)."/upload_file/".$file_name--指定上传的目标文件,假设你要上传的目标文件夹upload_file是和当前文件(upload.php)在同一文件夹下

//chmod(dirname(__FILE__)."/upload_file/".$file_name,0444);

//上面注释掉的是用来改变上传后文件的属性,444即只有执行和读的权限(看情况加上)

echo$_FILES["upfile"]["name"]."uploadedsucceed!!!";

}else{

echo"Can'tupload!!!";

}

}

}else{

echo"Fileisnotselected";

}

//需要注意的:

/*

在你的up.php同级目录下建立upload_file文件夹,来存放上传的文件

在上传之前要看一下php的配置文件:php.ini中的三处设置

1.是否允许文件上传:(file_uploads=On)

2.文件上传的最大size:(upload_max_filesize)

3.post的最大size(post_max_size)这个大小设置成和uplod_max_filesize一样大或比uplod_max_filesize大

*/

/*

这只是很简单的一个文件上传的例子,为了帮助理解,只是判断了一下上传文件的类型,还可以使用if语句来判断上传文件的大小($_FILES['upfile']['type'])),并进行提示控制等,相关可以查阅$_FILE['upfile']数组的各个值分别代表什么

*/

?>

----------

可以看看php100里面的视频,其中一节就是介绍文件上传的.:)

Ⅵ 求PHP 超大文件上传解决方案:分片断点上传(一)

大文件上传主要需要解决2个难点问题。
一个是文件的分片,一个是文件的合成。
也就是客户端分片上传,服务器端量分片的文件进行合成。
文件分片,前端浏览器提供了分片的js函数,我们只需要调用即可。
文件上传需要解决断点续传的问题,就是服务器端需要保留和记录每次上传的分片,这样可以通过顺序进行文件合并。
断点续传是通过记录上传的信息,已上传的切片不需要重复上传,当全部切片上传成功,服务器端进行切片合并。

Ⅶ PHP图片分段上传如何实现

哦。

Ⅷ php超大文件上传如何实现

  1. 超大是多大?

  2. 如果几百M之内,可以通过修改php的配置文件来实现,网上很容易可以搜索到具体修改的值

  3. 不过,我更建议前端使用分段上传的方式来实现,具体方法还是请搜索。

阅读全文

与php分段上传相关的资料

热点内容
美食博主用什么app拍视频 浏览:812
ipone手机如何加密微信 浏览:354
自来水加密阀阀帽 浏览:431
华为交换机dhcp配置命令 浏览:315
androidbitmap缩小 浏览:271
单片机串口控制灯 浏览:84
大讯云服务器安装视频 浏览:784
华为算法领先世界 浏览:654
linux路由重启 浏览:566
php的模板编程 浏览:322
编译器原理与实现书 浏览:710
dos选择命令 浏览:19
apm固件编译到单片机 浏览:123
联通深蓝卡都包含什么app 浏览:266
如何判断网络服务器正常 浏览:652
路由器搭桥远端服务器地址是什么 浏览:518
编译动态库时会连接依赖库吗 浏览:710
淘宝手机加密是随机的吗 浏览:675
解压包子怎么装饰 浏览:588
四个数凑24算法 浏览:679