树莓派实现PHP上传文件
默认可上传的最大文件为2M,修改PHP配置文件/etc/php5/fpm/php.in中的属性upload_max_file及post_max_file属性值。然后再在nginx配置件/etc/nginx/nginx.conf中添加client_max_body_size 20m。
工具/原料
树莓派板子
显示器
鼠标键盘
PHP文件上传
1、网上很多PHP上传文件的教程,与其到处搜索,不如把平时常用到的学习网站记录下来,系统的去学习查阅,对于初学者来说,菜鸟教程很有用处,不要跟无头苍蝇似的这看一块,那看一块,学到半瓶子知识去上手项目,很被动的。
2、树莓派安装操作系统
https://v.youku.com/v_show/id_XMjgzNzY0MDk4OA.html?spm=a2h0j.11185381.listitem_page1.5~A3、在树莓派系统上搭建好的LNMH环境下实现PHP文件上传
4、站点目录/usr/share/nginx/html/
5、项目目录结构upload_file.htmlupload.phpupload/
6、创建一个文件上传表单界面upload_file.html
7、创建上传脚本upload.php
8、启动Nginx服务sudo /etc/init.d/nginx restart
9、文件上传成功界面
上传到文件会出现的问题
1、0错误:1怎么解决?
2、1 PHP默认上传文件的大小为2M,如果上传大于2M的文件,需修改php.ini配置文件定位PHP的配置文件路径,经过下述方法找定位php.ini路径,树莓派上php.ini配置文件路径——这个很重要,PHP有很多php.ini文件,千万不要搞错了!千万不要搞错了!千万不要搞错了!/etc/php5/fpm/
3、cd 到该目录,默认pi用户是没有权限修改php.ini文件
4、查看配置文件php.ini的读写权限pi@xiaoxiao:/etc/php5/cli$ ls -ltotal 76drwxr-xr-x 2 root root 4096 Apr 19 09:09 conf.d-rw-r--r-- 1 root root 72340 Apr 15 02:28 php.inipi所在的是就是其他r--,只有读取权限
5、修改pi拥有php.ini的读写,修改完成,权限再修改回去我这里图省事就777了,所以用户都可读写执行,这样做很危险的最好647pi@xiaoxiao:/etc/php5/cli$ sudo chmod 777 php.ini
6、查看是否修改成功pi@xiaoxiao:/etc/php5/cli$ ls -ltotal 76drwxr-xr-x 2 root root 4096 Apr 19 09:09 conf.d-rwxrwxrwx 1 root root 72340 Apr 15 02:28 php.ini权限修改成功vi打开php.inipi@xiaoxiao:/etc/php5/cli$ vi php.ini
7、文件内容太多,需掌握vi下的搜索功能upload娄多骋能_max_filesize = 8m;允许上传文件大小的最大值。默认为2M。post_max_size = 8m;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M搜索方式1、命令模式下输入“/字符串”,例如“/Section 3”。2、如果查找下一个,按“n”即可。定位到upload_max_filesize属性,按下i进入编辑模式,修改上传文件大小upload_max_filesize = 8m按下esc进入命令行模式,输入:wq敲击回车键保存退出php.ini文件php.ini文件权限修改回744pi@xiaoxiao:/etc/php5/cli$ sudo chmod 744 php.ini
8、查看权限否修改成功pi@xiaoxiao:/etc/php5/cli$ ls -ltotal 76drwxr-xr-x 2 root root 4096 Apr 19 09:09 conf.d-rwxr--r-- 1 root root 72340 Apr 23 10:46 php.ini修改成功。
9、重启Nginx服务cd到/etc/init.d/目录pi@x坡纠课柩iaoxiao:/etc/nginx$ vi nginx.confpi@xiaoxiao:/etc/nginx$ sudo /etc/init.d/nginx restart[ ok ] Restarting nginx (via systemctl): nginx.service.
10、重启php5-fpm服务cd到/etc/init.d/目录pi@xiaoxiao:/etc/php5/fpm$ vi php.inipi@xiaoxiao:/etc/php5/fpm$ cd /etc/init.d/pi@xiaoxiao:/etc/init.d$ sudo service php5-fpm restart
11、出现413 reque衡痕贤伎st entity too large原来nginx默认上传文件的大小是1M,可nginx的设置中修改。解决方法如下:1.打开nginx配置文件nginx.conf, 路径一般是:/etc/nginx/nginx.conf。2.在http{}段中加入client_max_body_size20m; 20m为允许最大上传的大小。3.保存后重启nginx,问题解决。