PHP实现文件上传功能
PHP实现一个文件上传的功能还是比较容易的,这里简单记录一下自己使用方法。 这里是一次接收多个文件上传的脚本upload.php,如下: ?php// 实现多个文件上传并保存的后端?//设置编码为UTF-8,以避免中文乱码header('Content-Type:text/html;charset=utf-8');
PHP实现一个文件上传的功能还是比较容易的,这里简单记录一下自己使用方法。
这里是一次接收多个文件上传的脚本upload.php,如下:
<?php // 实现多个文件上传并保存的后端 ? //设置编码为UTF-8,以避免中文乱码 header('Content-Type:text/html;charset=utf-8'); ? //获取多个文件的信息,注意:这里的键名不包含[] $fileArray = $_FILES['upload_file']; ? $upload_dir = 'img/'; //保存上传文件的目录 ? foreach ( $fileArray['error'] as $key => $error ) { if ( $error == UPLOAD_ERR_OK ) { //PHP常量UPLOAD_ERR_OK值为0,表示文件上传成功 $temp_name = $fileArray['tmp_name'][$key]; $file_name = $fileArray['name'][$key]; move_uploaded_file($temp_name, $upload_dir.$file_name); echo '上传[文件'.$key.':'.$file_name.']成功!'; }else { echo '上传[文件'.$key.':'.$file_name.']失败!'; } } ?>
关于上传文件的大小限制,对于我目前的nginx + php-fpm,有nginx和php的两层限制。
nignx的限制,目前默认是1MB的请求body,可以在配置文件/etc/nginx/nginx.conf中来调整:
http { include /etc/nginx/mime.types; default_type application/octet-stream; ? client_max_body_size 10M; #设置最大的body size ... }
如果超过client_max_body_size的限制,nginx会返回413响应码表示“Request Entity Too Large ”。
PHP对post请求内容的大小限制:
在/etc/php.ini文件中,有如下内容:
? ; Maximum amount of time each script may spend parsing request data. It's a good ; idea to limit this time on productions servers in order to eliminate unexpectedly ; long running scripts. ; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time max_input_time = 60 ? ; Maximum size of POST data that PHP will accept. ; http://www.php.net/manual/en/ini.core.php#ini.post-max-size post_max_size = 10M ? ; Whether to allow HTTP file uploads. ; http://www.php.net/manual/en/ini.core.php#ini.file-uploads file_uploads = On ? ; Maximum allowed size for uploaded files. ; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize upload_max_filesize = 10M
参考资料:
http://www.365mini.com/page/php-upload-file.htm
http://www.php.net/manual/zh/features.file-upload.php
http://forum.nginx.org/read.php?2,139769,139769#msg-139769
Original article: PHP实现文件上传功能
©2014 笑遍世界. All Rights Reserved.
原文地址:PHP实现文件上传功能, 感谢原作者分享。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

In this chapter, we are going to learn the following topics related to routing ?

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide
