发送文件返回405(方法不允许)

时间:2017-05-16 13:38:57

标签: javascript php http-status-code-405

客户端将文件发送到服务器。它是用XMLHttpRequest()发出的。我使用PHP作为服务器。在浏览器中运行时,从文件return this error 405上传(METHOD NOT NOTOWED)。 必需的标头已经在PHP代码中。我不明白为什么它不起作用

PHP

:

的JavaScript

<?php                                                         
  header("Access-Control-Allow-Origin: *");                   
  header('Access-Control-Allow-Methods: GET, POST, PUT');                  
  $fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : 
  false);

  if ($fn) {

    // AJAX call
    file_put_contents(
    'uploads/' . $fn,
    file_get_contents('php://input')
    );
    echo "$fn uploaded";
    exit();

  }
else {

// form submit
$files = $_FILES['fileselect'];

foreach ($files['error'] as $id => $err) {
    if ($err == UPLOAD_ERR_OK) {
        $fn = $files['name'][$id];
        move_uploaded_file(
            $files['tmp_name'][$id],
            'uploads/' . $fn
        );
        echo "<p>File $fn uploaded.</p>";
    }
   }
 }

第41行是调用UploadFile(f);

1 个答案:

答案 0 :(得分:1)

请参阅文档中所述的php.ini配置(在服务器上)。上传文件有几种选择。你可以在php.net上找到它,例如