php在线上传,如何在线学习PHP开发(三)文件上传

文件上传

692c6f728d25

image.png

配置php.ini

692c6f728d25

image.png

$_FILES

692c6f728d25

image.png

文件上传错误代码

692c6f728d25

image.png

文件上传代码

692c6f728d25

image.png

692c6f728d25

image.png

文件上传

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

rename

原始文件被删除

[图片上传失败...(image-564c0b-1585800082445)]

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

images.jianshu.io/upload_images/2294180-5b5745c1ab13deed.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

692c6f728d25

image.png

多文件上传

692c6f728d25

image.png

692c6f728d25

image.png

692c6f728d25

image.png

多文件上传之文件数组

多文件上传

多文件上传之文件数组

/**

* Created by PhpStorm.

* User:Melody

* Date:2020/4/1

* Time:下午3:21

*/

define('UPLOAD_DIR', './uploads/');

// 记录上传的错误信息

$errors = [];

if ($_FILES['file']) {

$file = $_FILES['file'];

foreach ($file['error'] as $key => $err) {

if ($err == 0) {

// 判断并保存这个文件

if (is_uploaded_file($file['tmp_name'][$key])) {

if (move_uploaded_file($file['tmp_name'][$key], UPLOAD_DIR . $file['name'][$key])) {

echo '第' . ($key + 1) . '个文件:', $file['name'][$key] . '上传成功
';

} else {

$errors[$key] = '文件保存错误';

}

} else {

$errors[$key] = '不是HTTP POST上传的文件';

}

} else {

$err_str = '文件上传错误';

switch ($err) {

case 1:

$err_str = '上传文件的大小超过了upload_max_filesize设置的值';

break;

case 2:

$err_str = '上传文件的大小超过了表单MAX_FILE_SIZE设置的值';

break;

case 3:

$err_str = '部分文件被上传';

break;

case 4:

$err_str = '没有任何上传文件';

break;

default:

break;

}

$errors[$key] = $err_str;

}

}

echo '

文件上传结果:

';

if ($errors) {

foreach ($errors as $k => $e) {

echo '第' . ($k + 1) . '个文件上传失败,失败原因' . $e . '
';

}

} else {

echo '文件全部上传成功';

}

}

ini_set('display_errors','On');//在此php中显示报错信息,我当时安装php时display_errors默认off,有error都不知道,也可以在php.ini修改

可以用find / -name +文件名 找到php.ini

nginx服务器修改php.ini后需要重启php-fpm才能生效

你要转移的文件夹的权限必须要修改:sudo chmod -R 777 文件夹名称,不然会有Permission denied

先查看php-fpm的master进程号 ---master

ps aux|grep php-fpm

重启php-fpm:

kill -USR2 主进程ID ------------master 进程id

./nginx -t 验证nginx配置文件是否正确

nginx -s reload 修改nginx配置后重新加载配置文件

启动php-fpm:sudo ./php-fpm7.2

/usr/local/php/sbin/php-fpm

多文件上传之不同文件名

多文件上传

多文件上传之不同文件名

/**

* Created by PhpStorm.

* User:Melody

* Date:2020/4/1

* Time:下午3:21

*/

define('UPLOAD_DIR', './uploads/');

// 记录上传的错误信息

$errors = [];

$i = 1;

if ($_FILES) {

$files = $_FILES;

foreach ($files as $key => $file) {

if ($file['error'] == 0) {

// 判断并保存这个文件

if (is_uploaded_file($file['tmp_name'])) {

if (move_uploaded_file($file['tmp_name'], UPLOAD_DIR . $file['name'])) {

echo '第' . ($i + 1) . '个文件:', $file['name'] . '上传成功
';

} else {

$errors[$i] = '文件保存错误';

}

} else {

$errors[$i] = '不是HTTP POST上传的文件';

}

} else {

$err_str = '文件上传错误';

switch ($file['error']) {

case 1:

$err_str = '上传文件的大小超过了upload_max_filesize设置的值';

break;

case 2:

$err_str = '上传文件的大小超过了表单MAX_FILE_SIZE设置的值';

break;

case 3:

$err_str = '部分文件被上传';

break;

case 4:

$err_str = '没有任何上传文件';

break;

default:

break;

}

$errors[$i] = $err_str;

}

$i++;

}

echo '

文件上传结果:

';

if ($errors) {

foreach ($errors as $k => $e) {

echo '第' . ($k + 1) . '个文件上传失败,失败原因' . $e . '
';

}

} else {

echo '文件全部上传成功';

}

}

692c6f728d25

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值