php上传文件

php 上传参数

不打扰是莪最后的温柔 提交于 2019-12-30 05:52:30
php上传文件限制涉及很多方面,大致归纳一下,有如下几个: 1、memory_limit //内存设置限制 2、max_execution_time //程序执行时间限制 3、post_max_size //最大POST数据限制 4、upload_max_filesize //最大上传文件大小限制 当然有这几个也不是绝对就限定了上传文件大小,理论上也只是限制最大可能的上传文件大小,因为内存设置还受限于当前可用内存数,程序执行时间受限于当前系统繁忙状态,POST数据大小还受限于POST冗余头或多断上传数,等等,这些因素都会在某个时机会影响到上传文件结果。 所以从逻辑顺序上: memory_limit > post_max_size > upload_max_filesize ,再加上一个前提 max_execution_time 许可时间足够长。 归纳一下,假设上传限制100M字节,则参考设置如下: ; Maximum execution time of each script, in seconds max_execution_time = 30 ; Maximum amount of time each script may spend parsing request data max_input_time = 60 ; Maximum input variable

细说PHP文件上传类fileupload.class.php,很好用

眉间皱痕 提交于 2019-12-29 20:59:40
<?php /** file: fileupload.class.php 文件上传类FileUpload 本类的实例对象用于处理上传文件,可以上传一个文件,也可同时处理多个文件上传 */ class FileUpload { private $path = "./uploads"; //上传文件保存的路径 private $allowtype = array('jpg','gif','png'); //设置限制上传文件的类型 private $maxsize = 1000000; //限制文件上传大小(字节) private $israndname = true; //设置是否随机重命名文件, false不随机 private $originName; //源文件名 private $tmpFileName; //临时文件名 private $fileType; //文件类型(文件后缀) private $fileSize; //文件大小 private $newFileName; //新文件名 private $errorNum = 0; //错误号 private $errorMess=""; //错误报告消息 /** * 用于设置成员属性($path, $allowtype,$maxsize, $israndname) * 可以通过连贯操作一次设置多个属性值 *@param

php 单文件上传 实例

感情迁移 提交于 2019-12-29 20:56:10
通过 PHP,可以把文件上传到服务器。 创建一个文件上传表单 允许用户从表单上传文件是非常有用的。 请看下面这个供上传文件的 HTML 表单: <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html> 请留意如下有关此表单的信息: <form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。 <input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。 注释: 允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。 创建上传脚本 "upload_file.php" 文件含有供上传文件的代码: <?php if ($_FILES

FLask上传文件

与世无争的帅哥 提交于 2019-12-27 17:47:55
目录 Flask上传文件 改进上传 上传进度条 一个更简便的方案 Flask上传文件 文件上传的基本原理实际上很简单,基 本上是: 一个带有 enctype=multipart/form-data 的 <form> 标记,标记中含有 一个 <input type=file> 。 应用通过请求对象的 files 字典来访问文件。 使用文件的 save() 方法把文件 永久地保存在文件系统中。 例,上传文件html页: <form action="" method="post" enctype="multipart/form-data"> {% csrf_token %} <input type="file" name="img"> <input type="submit" value="上传"> </form> 让我们从一个基本的应用开始,这个应用上传文件到一个指定目录,并把文件显示给 用户。 以下是应用的前导代码: import os,sys from flask import Flask, flash, request, redirect, url_for from werkzeug.utils import secure_filename # 为了便于迁移,上传文件的路径使用了os模块来寻找当前文件夹拼接windows文件分隔符再拼接真正的目录名, #

上传文件

痴心易碎 提交于 2019-12-27 17:45:47
打开php.ini,首先找到 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

PHP中的文件上传

旧时模样 提交于 2019-12-23 03:51:49
文件上传: 1.单个文件上传 2.多个文件上传 一.PHP配置文件中和上传有关的选项 file_uploads=on upload_max_filesize= 最大不要超过服务器的内存 upload_tmp_dir= 上传文件的临时路径 二.上传表单需要注意事项 1.如果有文件操作,表单的提交方式必须是POST提交 2.表单上传需要使用type为file的表单 3.enctype="multipart/form-data"只要有文件上传就要改为这个值,其他情况可以使用默认值,用来指定表单编码的数据方式,让服务器知道,我们需要传递一个文件并带有一些常规的表单信息 4.建议添加一个MAX_FILE_SIZE隐藏表单,值得单位也是字节 三.PHP处理上传的数据 如果是文件上传的数据则使用$_FILES处理上传的文件 $_POST接受非上传的数据 //上传文件传递的信息 Array ( [pic] => Array ( [name] => 1.jpg [type] => image/jpeg [tmp_name] => uploadtemp\phpFFAB.tmp [error] => 0 [size] => 9992 ) 1.使用$_FILES["表单名"]["error"]检查上传是否出错 UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功。 UPLOAD_ERR

PHP文件上传实例详解!!!

社会主义新天地 提交于 2019-12-19 23:45:06
首先看官方文档 <?php // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead // of $_FILES. $uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:'; print_r($_FILES); print "</pre>"; ?> 首先来看下上传部分的表单代码: 复制代码 代码如下: <form method="post" action="upload.php" enctype="multipart/form-data"> <table border=0

nginx——限制上传文件的大小

独自空忆成欢 提交于 2019-12-17 20:10:29
client_max_body_size 用于设置最大的允许客户端请求主体的大小,在请求首部中有 "Content-Length" ,如果超过了此配置项,客户端会收到 413 错误,即请求的条目过大 http { include mime.types; server_names_hash_bucket_size 512; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server_tokens off; client_max_body_size 8m; # 设置客户端最大的请求主体大小为8M include vhosts/*.conf; } 作者简介: 陈志珂(头条号: 强扭的瓜不好吃 )公众号“铅笔学园”运维内容合作作者之一,目前就职于中国最大的安卓应用软件公司,任高级工程师 , 现在公司任php开发工程师,python开发工程师,高级运维工程师。 铅笔学园 :IT资源分享|知识分享,做初级程序员的指明灯 来源: https://www.cnblogs.com/qianbixueyuan/p/9575018.html

修改PHP上传文件的大小限制

◇◆丶佛笑我妖孽 提交于 2019-12-17 04:02:08
Warning: POST Content-Length of 35052172 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 该条警告是PHP.ini中的配置有关。 上述错误信息的大致意思是,我们使用POST请求提交的数据大小超过了 服务器 的最大限制数 出现上述错误的原因是,在PHP的配置文件 php.ini 中,默认存在如下配置信息(在 php.ini 中,行首的分号";"表示当前行是注释,不会生效): ;脚本解析输入数据(类似 POST 和 GET )允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行 测量 的。 max_input_time = 60 ;允许客户端单个 POST 请求发送的最大 数据 post_max_size = 8M ;是否开启文件上传功能 file_uploads = On ;文件上传的临时存放目录(如果不指定,使用系统默认的临时目录) ; upload_tmp_dir = ;允许单个请求上传的最大文件大小 upload_max_filesize = 2M ;允许单个 POST 请求同时上传的最大文件数量 max_file_uploads = 20 从上面的配置信息中我们可以看出,PHP的默认配置信息就是导致PHP文件上传时提示文件大小超出限制的「罪魁祸首」

PHP安全配置 上传文件(转)

浪尽此生 提交于 2019-12-11 15:24:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 5、文件上传 php的文件上传机制是把用户上传的文件保存在php.ini的upload_tmp_dir定义的临时目录(默认是系统的临时目录,如:/tmp)里的一个类似phpxXuoXG的随机临时文件,程序执行结束,该临时文件也被删除。PHP给上传的文件定义了四个变量:(如form变量名是file,而且register_globals打开) $file #就是保存到服务器端的临时文件(如/tmp/phpxXuoXG ) $file_size #上传文件的大小 $file_name #上传文件的原始名称 $file_type #上传文件的类型 推荐使用: $HTTP_POST_FILES['file']['tmp_name'] $HTTP_POST_FILES['file']['size'] $HTTP_POST_FILES['file']['name'] $HTTP_POST_FILES['file']['type'] 这是一个最简单的文件上传代码: //test_5.php if(isset($upload) && $file != "none") { copy($file, "/usr/local/apache/htdocs/upload/".$file_name); echo "文件".$file_name