树莓派实现PHP上传文件

2025-10-27 16:35:02

1、网上很多PHP上传文件的教程,与其到处搜索,不如把平时常用到的学习网站记录下来,系统的去学习查阅,对于初学者来说,菜鸟教程很有用处,不要跟无头苍蝇似的这看一块,那看一块,学到半瓶子知识去上手项目,很被动的。

2、树莓派安装操作系统

3、在树莓派系统上搭建好的LNMH环境下实现PHP文件上传

4、站点目录

/usr/share/nginx/html/

5、项目目录结构

upload_file.html

upload.php

upload/

6、创建一个文件上传表单界面upload_file.html

树莓派实现PHP上传文件

7、创建上传脚本upload.php

树莓派实现PHP上传文件

8、启动Nginx服务

sudo /etc/init.d/nginx restart

9、文件上传成功界面

树莓派实现PHP上传文件

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 -l

total 76

drwxr-xr-x 2 root root  4096 Apr 19 09:09 conf.d

-rw-r--r-- 1 root root 72340 Apr 15 02:28 php.ini

pi所在的是就是其他r--,只有读取权限

5、修改pi拥有php.ini的读写,修改完成,权限再修改回去

我这里图省事就777了,所以用户都可读写执行,这样做很危险的最好647

pi@xiaoxiao:/etc/php5/cli$ sudo chmod 777  php.ini

6、查看是否修改成功

pi@xiaoxiao:/etc/php5/cli$ ls -l

total 76

drwxr-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.ini

pi@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文件权限修改回744

pi@xiaoxiao:/etc/php5/cli$ sudo chmod 744 php.ini

8、查看权限否修改成功

pi@xiaoxiao:/etc/php5/cli$ ls -l

total 76

drwxr-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@xiaoxiao:/etc/nginx$ vi nginx.conf

pi@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.ini

pi@xiaoxiao:/etc/php5/fpm$ cd /etc/init.d/

pi@xiaoxiao:/etc/init.d$ sudo service php5-fpm restart

11、出现

413 request entity too large

原来nginx默认上传文件的大小是1M,可nginx的设置中修改。

解决方法如下:

1.打开nginx配置文件nginx.conf, 路径一般是:/etc/nginx/nginx.conf。

2.在http{}段中加入client_max_body_size20m; 20m为允许最大上传的大小。

3.保存后重启nginx,问题解决。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢