em...
之前做项目的时候用到过OSS,后来考虑过假如没有OSS的话,怎么自己做一台服务器处理呢?
不过后来因为懒,这个问题被我扔在了TODO里,直到今天
今天乐老板问我,怎么用PHP做文件上传处理。
我第一个想到的就是TODO里的这个。
然后就开始动手写代码了。
CURL请求
模拟表单上传文件,会用到CURL请求,在之前的开发中大家也经常用用到。
这里就不去啰嗦那么多参数了。
请求函数
public function index()
{
$url = "http://app.localhost/index.php/test/test";
$post_data = array(
"foo" => "bar",
//要上传的本地文件地址
"upload" => new \CURLFile('robots.txt')
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
}
处理函数
public function test()
{
//echo var_export($_FILES,true);die;
//echo file_get_contents($_FILES['upload']['tmp_name']);
copy($_FILES['upload']['tmp_name'], "./log_copy.txt");
return json(['name'=>'log_copy.tx']);
}
效果图:
上传前
上传请求
上传后
然后就可以看到文件上传到了,这里没有跨服务器,不过类似的
注意,这个函数是 PHP 5.5以上的版本才行,低版本的我也懒得去翻文档了。
http://php.net/manual/zh/class.curlfile.php
em.... 大致就这些了,又水了一篇
上一篇: 微信小程序笔记...