我的网站上有一个表单,要求用户上传压缩文件并填写该文件的信息。我将信息发送到数据库,现在我需要获取该文件并将其移动到我的其他服务器以将其存储在目录中。
我目前正在使用cURL将文件传输到服务器2
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => $file));
curl_setopt($ch, CURLOPT_URL, "http://$server/upload.php");
curl_exec($ch);
curl_close($ch);
它没有发送文件。它发送的是服务器1上的临时路径,这不是我想要的。我之前从未做过这样的事情,所以我完全迷失了。
我需要做的是:
/home/uploads/
这两个服务器都是linux centos,我正在使用Windows工作在我的localhost上。
对于测试,在upload.php
中,我所做的只是检测请求是否为POST,然后转储到$ _POST以查看可用的数据并将其写入测试文本文件。
if($_SERVER['REQUEST_METHOD'] === 'POST') {
ob_start();
var_dump($_POST);
$data = ob_get_clean();
$fp = fopen("test.txt", "w");
fwrite($fp, $data);
fclose($fp);
} else {
echo 'You should not be here';
}
我还可以看到安全风险,因为任何人都可以将数据上传到该文件。任何帮助将不胜感激。