当前位置:首页 » 文件管理 » phpHTML5上传大文件

phpHTML5上传大文件

发布时间: 2022-11-04 11:30:40

‘壹’ php如何通过http传输大文件

其实最简单的办法就是把默认上传文件大小的配置改大一点就行了。比如你要上传一个小于50M的文件
1.php的配置文件改动:
upload_max_filesize 50M;
post_max_size 50M;
2.nginx的配置文件nginx.conf:
client_max_body_size 50m;

‘贰’ php中上传文件的方法有多少种

一、传统的php写的上传类。
写一个php的上传类,这个方法用到的知识全部是php的,而且技术的难点也不多。
<form method="post" action="upload.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">//隐藏域。这里name必须设置成MAX_FILE_SIZE,其值就是上传文件的最大长度,单位是B,这里我限制成2M
<input name="file" type="file" value="浏览" >
< input type="submit" value="上传" name="B1">
</table>
</form>

服务端利用php的$_FILES['file']['name']来获取文件后缀名,具体的代码自己查找资料看看,这里就不多说了。
总结;这个方法可以用来上传小于2M的文件或者是图片,基本的功能可以实现。
二、利用uploadify插件
这个是利用jQuery的上传插件,上传可以带进度条,容易配置。
总结:可以上传一些大文件,和图片,而且带进度条,可以多文件上传,在WEB中会经常用。
三、利用网络的webupload
WebUploader 是由 Bai FEX 团队开发的一款以 HTML5 为主,FLASH 为辅的现代文件上传组件。在现代的浏览器里面能充分发挥 HTML5 的优势,同时又不摒弃主流IE浏览器,沿用原来的 FLASH 运行时,兼容 IE6+,iOS 6+, Android 4+。采用大文件分片并发上传,极大的提高了文件上传效率。
四、swfupload的插件

这是一个jquery的上传插件,功能也非常强大,开发也比较容易,网上有很多的资料,可以自行查找。

‘叁’ html怎样上传比较大的文件

和你的配置文件有关。改一下PHP配置文件php.ini
给你总结下相关配置,自己去改吧

1、php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。

2、php.ini:memory_limit 本指令设定了一个脚本所能够申请到的最大内存字
节数,默认值8M。如果不需要任何内存上的限制,必须将其设为 -1。如果内存不够,则可能出现错误:Fatal error: Allowed
memory size of X bytes exhausted (tried to allocate Y bytes)

3、php.ini:post_max_size 设定POST数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。

4、php.ini:max_execution_time = 30 ; Maximum execution time of each script, in seconds

5、php.ini:max_input_time = 60 ; Maximum amount of time each script may spend parsing request data

6、如果用到mysql的BLOB进行二进制文件存储,则需要设置my.ini:max_allowed_packet=xxM

‘肆’ 怎么通过HTML+PHP上传文件到服务器

HTML代码:


<body>

<form action="" method="post" enctype="multipart/form-data" name="upload_form">

<label>选择图片文件</label>

<input name="imgfile" type="file" accept="image/gif, image/jpeg"/>

<input name="upload" type="submit" value="上传" />

</form>

</body>


PHP代码:


if (isset($_FILES['imgfile'])

&& is_uploaded_file($_FILES['imgfile']['tmp_name']))

{

$imgFile = $_FILES['imgfile'];

$upErr = $imgFile['error'];

if ($upErr == 0)

{

$imgType = $imgFile['type']; //文件类型。

/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/

if ($imgType == 'image/jpeg'

|| $imgType == 'image/gif')

{

$imgFileName = $imgFile['name'];

$imgSize = $imgFile['size'];

$imgTmpFile = $imgFile['tmp_name'];

/*

将文件从临时文件夹移到上传文件夹中。

注意:upfile这个文件夹必须先创建好,不然会报错。

*/

move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);

/*显示上传后的文件的信息。*/

$strPrompt = sprintf("文件%s上传成功<br>"

. "文件大小: %s字节<br>"

. "<img src='upfile/%s'>"

, $imgFileName, $imgSize, $imgFileName

);

echo $strPrompt;

}

else

{

echo "请选择jpg或gif文件,不支持其它类型的文件。";

}

}

else

{

echo "文件上传失败。<br>";

switch ($upErr)

{

case 1:

echo "超过了php.ini中设置的上传文件大小。";

break;

case 2:

echo "超过了MAX_FILE_SIZE选项指定的文件大小。";

break;

case 3:

echo "文件只有部分被上传。";

break;

case 4:

echo "文件未被上传。";

break;

case 5:

echo "上传文件大小为0";

break;

}

}

}

else

{

}


‘伍’ 求PHP上传大文件的三种解决方案

第一种是使用第三方的存储空间,这种比较方便,也不需要你做什么,直接请求接口就好啦。
第二种可以使用ftp方式进行大文件上传,支持断点续传。
第三种是用php调用服务端程序来上传,比如调用python等等开发的上传功能

‘陆’ 求php怎么实现web端上传超大文件

加大PHP上传文件大小的限制,是通过修改PHP.INI文件来实现,但是这个支持是有限度的,因为WEB协议本为下载而生,超大文件的上传是FTP的专利。

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。

1.file_uploads=on/off
是否允许通过http方式上传文件
2.max_execution_time=30
允许脚本最大执行时间,超过这个时间就会报错
3.memory_limit=50M
设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了
--enable-memory-limit标志的情况下才生效
4.upload_max_filesize=20M
允许上传文件的最大大小,此指令必须小于post_max_size
5.upload_tmp_dir
上传文件临时存放目录
6.post_max_size=30M
允许post方式可以接受最大大小
$_FILES['myFile']['name'] 客户端上次文件的原始名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的状态码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。
也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。
附:修改PHP上传文件大小限制的方法
1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time
在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制
2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150M
3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M
另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

‘柒’ php上传文件 关于上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值

你上面那个是判断出现错误情况下的,判断有没超过你定义的大小是返回错误为0的情况下进行判断。
if($_FILES['file']['error']>0){
switch($_FILES['file']['error']){
case1:
echo"上传的文件超过了php.ini中upload_max_filesize选项限制的值。";
break;
case2:
echo"上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。";
break;
case3:
echo"文件只有部分被上传。";
break;
case4:
echo"没有文件被上传。";
break;
default:
echo"未知错误!";
}
exit;
}
else
{
if($_FILES['file']['size']>1000000)
{
echo"上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。";
exit;
}
}

echo"上传成功";

‘捌’ PHP 大文件上传解决方案(500M以上)

针对这种问题,我想从如下几方面着手:
1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;
2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;
3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。
4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!

以上思路希望能帮到你!

‘玖’ 用PHP写上传资源的代码是上传大文件,例如300M的文件,再不改php.ini设置的情况下,有没有一种用代码修改

可以,利用php里面的函数ini_set(),ini_set参数格式为ini_set($var,$value),$var是你要设置的配置选项,$value是你要修改的值。

热点内容
我的世界电脑java怎么玩服务器 发布:2024-10-06 19:16:54 浏览:479
存储空间大于存储池中的可用容量 发布:2024-10-06 19:15:28 浏览:32
什么叫估算法 发布:2024-10-06 19:15:20 浏览:86
c语言库编译 发布:2024-10-06 19:09:23 浏览:746
啊里云系统电视如何更换安卓系统 发布:2024-10-06 18:50:09 浏览:575
编译语言分为几类 发布:2024-10-06 18:34:56 浏览:784
负数幂算法 发布:2024-10-06 18:29:48 浏览:350
iphone手机id密码是多少位 发布:2024-10-06 18:29:46 浏览:839
易经隔骨算法真的准吗 发布:2024-10-06 18:29:44 浏览:44
数据库有损坏 发布:2024-10-06 18:29:43 浏览:312