全球主机交流论坛
标题:
php大佬进
[打印本页]
作者:
lemeaco
时间:
2020-3-17 23:02
标题:
php大佬进
ajax上传文件,thinkphp5 (web服务器用的swoole)里file是null,不知道什么原因,大佬帮忙看一下,万分感谢。
作者:
一个不知名网友
时间:
2020-3-17 23:02
提示:
作者被禁止或删除 内容自动屏蔽
作者:
lemeaco
时间:
2020-3-17 23:05
跪求php大佬指点迷津
作者:
hehe
时间:
2020-3-17 23:07
提示:
作者被禁止或删除 内容自动屏蔽
作者:
lemeaco
时间:
2020-3-17 23:08
本帖最后由 lemeaco 于 2020-3-17 23:10 编辑
hehe 发表于 2020-3-17 23:07
https://stackoverflow.com/
百度能解决,我也不会来论坛里问mjj了
作者:
hehe
时间:
2020-3-17 23:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
JOSH
时间:
2020-3-17 23:10
thinkphp对上传目录有限制吧
作者:
ico
时间:
2020-3-17 23:12
权限问题,路径错误等等!! 反正我不会。
作者:
flofire
时间:
2020-3-17 23:14
检查前端content type,把request全部log出来看看
作者:
烟花三月
时间:
2020-3-17 23:25
应该去swoole那里去问啊
子曰:----< 好好对自己,一辈子没多长;好好对别人,下辈子不一定能遇上。 >---
作者:
Simmoc
时间:
2020-3-17 23:26
本帖最后由 Simmoc 于 2020-3-17 23:28 编辑
可以尝试用 think\File 对象接收上传的文件
use think\Config;
use think\Db;
use think\File;
/**
* @param File $file
* @param string $save_path
* @param bool|true $is_record
* @param array $rule
* @return array
*/
static public function uploadFile(File $file,$save_path="",$is_record=true,$rule=[] ) {
$return=[
"code"=>1001,
"data"=>"",
"msg"=>"文件上传成功",
];
$file_hash_md5 = $file->hash("md5");
$file_hash_sha1 = $file->hash("sha1");
//判断数据库中是否存在
if ($is_record){
$images_table = Config::get("upload.upload_files_table");
$map = [
"md5"=>$file_hash_md5,
"sha1"=>$file_hash_sha1,
];
$search_image=Db::table($images_table)->where($map)->find();
if ($search_image){
$return["path"] = $search_image["path"];
$return["msg"] = "获取已存在图像成功";
$return['data']['id'] = $search_image["id"];
$return['data']['path'] = $search_image["path"];
$return['data']['type'] = "files" ;
return $return;
}
}
$save_path = self::getSavePath("files");
$validate_rule = $validate_rule = $rule ? $rule : Config::get("upload.upload_files_validate");
$info = $file->validate($validate_rule)->move($save_path);
if ( $info ) {
$oinfo = $info->getInfo();
$data['name'] = $oinfo['name'];
$data['path'] = self::getSavePath("files",false).DS.$info->getSaveName();
$data['path'] = str_replace('\\', '/', $data['path']);
$data['md5'] = $file_hash_md5;
$data['sha1'] = $file_hash_sha1;
$data['size'] = $oinfo['size'];
$data['type'] = 'local';
$data['create_time'] = time();
if($is_record){
$images_table = Config::get("upload.upload_files_table");
if ( $id = Db::table($images_table)->insertGetId($data) ) {
$return['data']['id'] = $id;
$return['data']['path'] = $data['path'];
$return['data']['type'] = "images" ;
} else {
$return['code'] = 1041;
$return['msg'] = '记录到数据库失败!';
}
}else{
$return['data']['path'] = $data['path'];
$return['data']['type'] = "files" ;
}
} else {
$return['code'] = 1040;
$return['msg'] = $file->getError();
}
return $return;
}
复制代码
作者:
ywjdlq
时间:
2020-3-17 23:43
本帖最后由 ywjdlq 于 2020-3-17 23:50 编辑
查下swoole文档
作者:
jekyll
时间:
2020-3-17 23:57
不如去
sifou.net
虽然那边的人也帮不上啥大忙,但经常问着问着自己就把思路理清了。
作者:
已注销账号
时间:
2020-3-18 10:15
我也太邪恶了,看标题还以为是pai huang pian 的大佬
欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/)
Powered by Discuz! X3.4