我有一個文件上傳的問題。我正在使用THIS文章中描述的非常方法。我下載了作者從HERE發佈的整個腳本。
該應用程序的目的是通過HTML5拖放文件拖放,然後通過javascript通過ajax請求將它們發送到serverside。
一切工作正常,但是當我想從AJAX請求標題讀取參數時會出現問題。下面是PHP「文件閱讀器」代碼:JavaScript對象的XMLHttpRequest setRequestHeader方法不起作用
$fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : false);
if ($fn) {
//above there is the upload of the file with file_put_contents function
//which actually works fine when I replace $fn with my own value and ommit the "if" condition
此前,XMLHttpRequest.setRequestHeader方法啓動設置「X_FILENAME」頭。下面是JavaScript的:
var xhr = new XMLHttpRequest();
// start upload
xhr.open("POST", $id("upload").action, true);
xhr.setRequestHeader("X_FILENAME", file.name);
xhr.send(file);
而這裏的證明(從我的Chrome瀏覽器的 「螢火蟲」 作物):
當我的var_dump在PHP中$ FN變量返回布爾值FALSE。哪裏不對?
P.S.我在Win7 x64上使用XAMPP v1.8.1與Apache 2.4.3和PHP 5.4.7。我在最新的Chrome上運行該網站。正如你所猜測的,該網站正在本地主機上運行。我沒有更改php.ini文件中的任何內容 - 所有內容都設置爲默認值。
的新版本您的解決方案的偉大工程!謝謝。在第一種方法中,我沒有注意到你評論中的最後一行,儘管我註定了。 – matewka