我在上传文件时遇到问题。我正在使用这篇文章中描述的那种方法。我从这里下载了作者发布的整个脚本。
该应用程序旨在通过 HTML5 拖放加载文件,然后通过 javascript 通过 ajax 请求将它们发送到服务器端。
一切正常,但是当我想从 AJAX 请求标头中读取参数时会出现问题。这是PHP“文件阅读器”的代码:
$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 的“萤火虫”):
当我在 PHP 中对$fn变量进行var_dump时,它返回布尔值 FALSE。怎么了?
PS 我在 Win7 x64 上使用XAMPP v1.8.1和 Apache 2.4.3 和 PHP 5.4.7。我在最新的 Chrome 上运行该网站。正如您可以猜到的那样,该站点正在本地主机上运行。我没有更改 php.ini 文件中的任何内容 - 一切都设置为默认值。