PHPCURL递归实现 上传文件
程序员文章站
2022-03-21 14:13:27
...
感兴趣可以先看上一篇文章,然后这两个是关联的。不同的图片,对应不同的typeID,
/*
* time:2016年12月2日17:21:37
* 功能:根据文本里面的roomID和文件夹下面的文件匹配上传到服务器
* 主要参数说明:$file_qqq 图片文件路径
* $r roomID,得到一个数组循环一次出队获得该参数
* $type 上传类型,根据图片名字得到
*author:zhangchenyang
*/
ini_set('max_execution_time', '0'); //设置超时时间
header('content-type:text/html;charset=utf8');
$act = $_GET['pass'];
if ($act == 'zhangchenyang') {
/**
*time:2016年12月2日16:09:33
* 注意:1:图片路径是否正确
* 2:房间id是否对应
*
*/
$file = './room400.txt'; //上传的roomID文件
$content = file_get_contents($file);
//echo $content;
$array = explode("\r\n", $content); //转成数组
//地柜列出所有文件
function tree($directory)
{
global $array;
$mydir = dir($directory);
echo "\n";
while ($file = $mydir->read()) {
if ((is_dir("$directory/$file")) AND ($file != ".") AND ($file != "..")) {
$arr = array_shift($array);
echo "- $file
\n";
tree("$directory/$file");
} else
global $arr;
if (is_dir('$file')) {
} else {
if ($file !== '.' & $file !== ".." & $file != '') {
$img_name = mb_substr($file, 0, 1, 'utf-8');
if (is_numeric($img_name)) {
echo "- $file,$img_name
\n";
$file_qqq = "$directory/$file";
var_dump($file_qqq);
//构建接口的参数
$r = $arr;
$t = $img_name;
$return_data = up($file_qqq, $r, $t); //1:图片的路径 2:房间ID 3:传递类型
if ($return_data == '200') {
//上传成功
$ok_info = $file_qqq . '-文件名字-' . $file . '-房间ID--' . $r; //文件的路径
file_put_contents('ok400.txt', $ok_info, FILE_APPEND);
} else {
$err_info = $file_qqq . '-文件名字-' . $file . '-房间ID--' . $r; //文件的路径
file_put_contents('error400.txt', $err_info, FILE_APPEND);
}
}
}
}
}
echo "
\n";
$mydir->close();
}
echo "目录为粉红色
\n";
tree("./img400");
function up($file_qqq, $r, $type)
{
$u = '1';
$t = '1';
$ch = curl_init();
$source = $file_qqq;
$source = realpath($source);
//加@符号curl就会把它当成是文件上传处理
$data = array('img' => '@' . $source);
//$url='http://localhost/update_admin.php?u=%s&t=%s&r=%s&type=%s'; /测试接口
$url = 'http://localhost/room/update_admin.php?u=%s&t=%s&r=%s&type=%s';
$url = sprintf($url, $u, $t, $r, $type);
//var_dump($url);
$cfile = curl_file_create($source, 'image/jpeg', '1.jpg');
// 设置 POST 数据
$data = array('uploadedfile' => $cfile);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
//var_dump($data);
$error = curl_error($ch);
$b = curl_multi_getcontent($ch);
curl_close($ch);
return json_decode($result);
}
} else {
echo "";
}
上一篇: 为什么要使用小程序