无法在不同的服务器上传pdf,jpg文件

时间:2014-04-17 08:47:53

标签: php mysql

无法在不同服务器的数据库上传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/";  

1 个答案:

答案 0 :(得分:1)

您必须在要放置文件的服务器上创建某种API。否则,您可以轻松地将文件放在stackoverflow服务器上。因此,您必须在另一台服务器上创建一个API,该服务器将获取文件并将其保存到服务器上。如果每个人都可以将文件放在您的服务器上,那么您应该使用密码保护它,否则您将被非常快速地攻击。

另一方面,您只需使用包含文件的表单发送数据。