导航:首页 > 编程语言 > php设置文件上传配置

php设置文件上传配置

发布时间:2022-05-18 12:18:20

A. thinkphp3.2.3文件上传怎么配置cofig

$config = array(
'mimes' => array(), //允许上传的文件MiMe类型
'maxSize' => 0, //上传的文件大小限制 (0-不做限制)
'exts' => array(), //允许上传的文件后缀
'autoSub' => true, //自动子目录保存文件
'subName' => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
'rootPath' => './Uploads/', //保存根路径
'savePath' => '', //保存路径
'saveName' => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
'saveExt' => '', //文件保存后缀,空则使用原后缀
'replace' => false, //存在同名是否覆盖
'hash' => true, //是否生成hash编码
'callback' => false, //检测文件是否存在回调,如果存在返回文件信息数组
'driver' => '', // 文件上传驱动
'driverConfig' => array(), // 上传驱动配置
);
$upload = new \Think\ Upload($config);

B. 如何在php上实现文件上传功能

PHP 一般使用 POST 方法上传文件,下面是一个简单的文件上传示例,里面有相关的注释:
up.htm 文件:
----------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Up Sample</title>
</head>
<body>
<form action="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 />
<input type="file" name="upfile" size="30"><br />

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

<br />
<input type="submit" value="Upload">
</form>
</body>
</html>
----------
up.php 文件
----------
<?php
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])){

//如果有文件上传
//is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的,返回布尔值
//$_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 'The uploaded file is not an pdf File! Please upload a right file!';
}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"] . " uploaded succeed!!!";

}else{
echo "Can't upload!!!";
}
}
}else{
echo "File is not selected";
}
//需要注意的:
/*
在你的 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'] 数组的各个值分别代表什么
*/
?>

C. 如何获得php配置文件上传文件大小

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。

D. php服务器文件上传大小被限制如何修改

  1. 打开php.ini,

    首先找到file_uploads = on
    ;是否允许通过HTTP上传文件的开关。默认为ON即是开
    upload_tmp_dir
    ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
    upload_max_filesize = 8m
    ;即允许上传文件大小的最大值。默认为2M
    post_max_size = 8m
    ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
    一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。

  2. 进一步配置以下的参数
    max_execution_time = 600
    ;每个PHP页面运行的最大时间值(秒),默认30秒
    max_input_time = 600
    ;每个PHP页面接收数据所需的最大时间,默认60秒
    memory_limit = 8m
    ;每个PHP页面所吃掉的最大内存,默认8M
    把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
    max_execution_time
    = 600
    max_input_time = 600
    memory_limit = 32m
    file_uploads =
    on
    upload_tmp_dir = /tmp
    upload_max_filesize = 32m
    post_max_size =
    32m

E. 如何让PHP上传超大文件

1.在php.ini修改上传文件的大小
打开php.ini,首先找到(前4个够用了)
file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。
进一步配置以下的参数
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m
2如果还是解决不了.
nginx修改上传文件大小限制
在 /etc/nginx/conf.d/下 找到你的配置文件 在location中加上这样一段代码
location / {
root html;
index index.html index.htm;
client_max_body_size 5000m;
}
切记!!!修改完配置文件要重启!重启!重启!

F. PHP+swfupload 上传视频失败,报500错误,怎么配置上传大小

看看路径是否正确(正反斜杠)。配置php.ini
如何配置php.ini实现PHP文件上传功能。其中涉及到php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,这些选项是文件上传成败的关键。我们以php.5.3.5的Windows版本为例说明。

php.ini中文件上传功能配置选项说明

用文本工具(推荐EditPlus)打开php.ini 配置文件,查找 File Uploads ,在这个区域有以下3个选项:

file_uploads = On

是否允许HTTP文件上传。默认值为On允许HTTP文件上传,此选项不能设置为Off。

upload_tmp_dir =

文件上传的临时存放目录。如果没指定则PHP会使用系统默认的临时目录。该选项默认为空,此选项在手动配置PHP运行环境时,也容易遗忘,如果不配置这个选项,文件上传功能就无法实现,你必须给这个选项赋值,比如upload_tmp_dir = "d:/fileuploadtmp" ,代表在D盘目录下有一个fileuploadtmp目录,并且给这目录读写权限。

upload_max_filesize = 2M

上传文件的最大尺寸。这个选项默认值为2M,即文件上传的大小为2M,如果你想上传一个50M的文件,你必须设定 upload_max_filesize = 50M。
但是仅设置upload_max_filesize = 50M 还是无法实现大文件的上传功能,我们还必须修改php.ini文件中的 post_max_size 选项。

继续在 php.ini 中查找 Data Handling ,在这个区域有1个选项:

post_max_size = 8M

指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。
要上传大文件,你必须设定该选项值大于upload_max_filesize选项的值,例如你设置了upload_max_filesize = 50M ,这里可以把post_max_size = 100M。
另外如果启用了内存限制,那么该值应当小于memory_limit 选项的值。

继续在 php.ini 中查找 Resource Limits ,在这个区域有3个选项:

max_execution_time = 30

每个PHP页面运行的最大时间值(单位秒),默认30秒。当我们上传一个较大的文件,例如50M的文件,很可能要几分钟才能上传完,但php默认页面最久执行时间为30秒,超过30秒,该脚本就停止执行,这就导致出现无法打开网页的情况。因此我们可以把值设置的较大些,如 max_execution_time = 600。 如果设置为0,则表示无时间限制。

max_input_time = 60

每个PHP脚本解析请求数据所用的时间(单位秒),默认60秒。当我们上传大文件时,可以将这个值设置的较大些。 如果设置为0,则表示无时间限制。

memory_limit = 128M

这个选项用来设置单个PHP脚本所能申请到的最大内存空间。这有助于防止写得不好的脚本消耗光服务器上的可用内存。如果不需要任何内存上的限制将其设为 -1。
php5.2.0以前的版本默认8M; php.5.2.0版本默认为16M。php 5.2.0之后的版本默认为 128M;

php.ini 配置上传文件功能示例

假设要上传一个50M的大文件。配置 php.ini 如下:
file_uploads = On
upload_tmp_dir = "d:/fileuploadtmp"
upload_max_filesize = 50M
post_max_size = 100M
max_execution_time = 600
max_input_time = 600
memory_limit = 128M

提示:需要保持 memory_limit > post_max_size > upload_max_filesize

ini_get()获取php.ini设置值
ini_set()设置php.ini

G. 如何通过配置php文件限制上传文件的大小

在网站开发的过程中,为了确保能够充分利用服务器的空间,在开发上传功能时,必须对上传文件的大小进行控制。那么我们如何进行对上传文件的大小进行控制呢?

控制文件的大小可以从两个方面入手:

第一个是在PHP的配置文件php.ini中对上传文件进行控制,如果上传文件超过它指定的范围,那么执行上传就会识别。

第二个是在PHP配置文件允许的范围内,在程序中对上传文件的大小进行控制!

一:通过配置文件控制上传文件

PHP中通过php.ini文件对上传文件进行控制,包括是否支持上传,上传文件的临时文件目录,上传文件的大小,指令执行时间,指令分配的内存空间。

在php.ini中,定义 File Uploads项,完成对上传相关选项的设置。上传相关选项的含义如下:

file_uploads:如果值是 no,说明服务器支持上传文件,如果为off ,那么则不支持。一般默认是支持的,这个不用修改!

upload_tmp_dri:上传文件临时目录。文件被成功上传之前,文件首先存放到服务器端的临时目录中。多数使用系统默认目录,但是也可以自行设置!

upload_max_filesize:服务器允许上传文件的最大值,以MB为单位,系统默认为2MB,如果网站需要上传超过2MB的数据,那么就要修改这个值!

上述是php.ini中 File_Uploads项中与上述相关参数设置说明,除了File_Uploads项中的内容外,在php.ini中还有其他几个选项会影响到文件的上传~

max_execution_time:PHP中一个指令所能执行的最大时间,单位为秒。该选项在上传超大文件时必须要修改,否则即使上传文件在服务器允许的范围内,但是若超过了指令所能执行的最大时间,仍然无法实现上传~

memory_limit:PHP中一个指令所分配的内存空间,单位是 MB 。它的大小同样会影响得到超大文件的上传!

二:在程序中控制上传文件

在客户端控制上传文件应用的是 form 表单中的 enctype 和 method属性以及隐藏域 MAX_FILE_SIZE。

enctype = “multipart/form-data”:指定表单编码数据方式。

method = “post”:指定数据的传输方式。

<input type = "hidden" name="MAX_FILE_SIZE" value=“10000”/>:通过隐藏域控制上传文件的大小(单位为字节),该值不能超过php.ini配置文件中 upload_max_filesize 选项设置的值,它不能喝完全控制上传文件的大小。只是可以避免一些不必要的麻烦。

技巧:

在应用隐藏域<input type = "hidden" name="MAX_FILE_SIZE" value=“10000”/>控制文件上传大小时,必须将其放置在文件域之前,否则是不能发挥作用的!

H. 如何设置PHP上传文件的最大值

不限制我不明白。
但是可以通过修改php.ini配置文件来达到更改上传文件的大小
一个是 Upload_max_filesize 允许上传的最大大小。单位M, Exp:50M
一个是 post_max_size:表单上允许的文件最大大小。单位M,Exp:50M
他们两好像有一个要比其中一个的数值大,我记不太清了。
应该是upload_max_filesize的数值得大于post_max_size的数值。这两个你研究下吧。

I. 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的上传插件,功能也非常强大,开发也比较容易,网上有很多的资料,可以自行查找。

J. PHP如何设置文件上传路径(求完完整整代码)

$path="../upfiles/image/";
if(!is_dir($path)){
mkdir($path,0777,true);
}
$file=$_FILES['file']['name'];
$tmp_file=$_FILES['file']['tmp_name'];
................
($tmp_file,$path.iconv('utf-8','gbk',$file));
$url=ltrim($path,'..').$file;

阅读全文

与php设置文件上传配置相关的资料

热点内容
多个文件解压缩 浏览:538
python字符串替换函数 浏览:825
app会员卡怎么做 浏览:921
我爱你python编码 浏览:365
一台计算机作为服务器一般可以运行什么软件 浏览:421
应用加密桌面还显示头像咋办 浏览:523
微软硬盘加密密钥 浏览:156
空调压缩机和风扇 浏览:511
代码可以编译运行 浏览:918
银行卡加密码大全真号 浏览:447
单片机测esr 浏览:412
app怎么设置消息功能 浏览:916
明词pdf 浏览:427
云域控服务器有什么用 浏览:577
字节和B站程序员 浏览:747
app推荐书要怎么做 浏览:303
unix网络编程第一卷 浏览:852
c需要pdf 浏览:865
超级解压的美甲 浏览:72
安卓手机如何永久取消静音 浏览:722