无法在不同服务器的数据库上传PDF,JPG,...文件?
我在一台服务器上有一个表单,当他们填写数据时,数据应该存储在另一台服务器上的数据库中
function do_upload_files($id) {
$allowed_doc_exts = "txt|pdf|jpg|jpeg|doc|odt|gif";
$allowed_docs = 5;
$ret = array();
for ($i = "0"; $i <= $allowed_docs; $i++) {
$exts = explode("|", $allowed_doc_exts);
$doc = "documents_" . $i;
if (!isset($_FILES[$doc]))
continue;
if (empty($_FILES[$doc]["name"]))
continue;
$ext = pathinfo($_FILES[$doc]["name"], PATHINFO_EXTENSION);
if (!in_array(strtolower($ext), $exts))
continue;
$doc_dir = "/home/httpd/vhosts/domain.com/httpdocs/content/document/$id/";
if (!is_dir($doc_dir))
mkdir($doc_dir, 0777, true);
$doc_path = $doc_dir . $i;
if(move_uploaded_file($_FILES[$doc]["tmp_name"], $doc_path)) {
$ret[$i]["name"] = $_FILES[$doc]["name"];
$ret[$i]["type"] = $_FILES[$doc]["type"];
}
这是问题(我认为):
$doc_dir = "/home/httpd/vhosts/domain.com/httpdocs/content/document/$id/";
答案 0 :(得分:1)
您必须在要放置文件的服务器上创建某种API。否则,您可以轻松地将文件放在stackoverflow服务器上。因此,您必须在另一台服务器上创建一个API,该服务器将获取文件并将其保存到服务器上。如果每个人都可以将文件放在您的服务器上,那么您应该使用密码保护它,否则您将被非常快速地攻击。
另一方面,您只需使用包含文件的表单发送数据。