我希望在一台服务器上编写一个函数来接受从任何其他服务器上传的文件,换句话说,类似于 api。
假设在 www.upload.com 上有一个上传脚本来上传文件。我希望他们在 fileserver.com 上卷曲我的脚本以将文件保存到,而不是在该服务器上进行发布和保存。
我在 fileserver.com 上保存文件的功能如下所示
function upload($data) {
$uploaddir = '/data/';
$uploadfile = $uploaddir . 'filename.jpg';
if(move_uploaded_file($data['upload_file'], $uploadfile)) {
return 'saved successfully';
} else {
return 'bad file';
}
}
在upload.com服务器上,我正在测试这个例子:
if($_POST) {
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://fileserver.com/upload.php');
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'upload_file=@'.$data['img_file']['tmp_name']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
}
请记住,这是作为 API 使用的,因此执行 curl 的功能仅用于测试。上传函数是api函数。有谁知道该怎么做或我做错了什么,这甚至可能吗?