【发布时间】:2015-04-16 14:33:25
【问题描述】:
我有以下 PHP 代码-
<?php
$uploaddir = getcwd().'/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
我想要做的是,通过向脚本发送 HTTP 标头来上传文本文件。这是我要发送的标头-
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------556304871068
发布内容-
-----------------------------556304871068\r\n
Content-Disposition: form-data; name="MAX_FILE_SIZE"\r\n
\r\n
512000\r\n
-----------------------------556304871068\r\n
Content-Disposition: form-data; name="userfile"; filename="example.txt"\r\n
Content-Type: text/plain\r\n
\r\n
ThisText\r\n
\r\n
-----------------------------556304871068--\r\n
但它会返回一条错误消息作为响应-
<br />
<b>Notice</b>: Undefined index: userfile in <b>C:\HostingSpaces\Test\mysite.com\wwwroot\admin\upload.php</b> on line <b>4</b><br />
<pre><br />
我不明白为什么会出现这个错误以及如何解决这个问题。
注意:当我正常上传文件(使用 HTML 上传页面)时,PHP 脚本运行良好。
编辑:HTML 表单代码:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
【问题讨论】:
-
html 表单在哪里?
-
如果我做对了,您可以使用 html 表单上传文件,但在尝试使用“标题”时不能上传,您如何将标题发送到脚本?卷曲?
-
没有。我通过“发送 HTTP 工具”发送它。我可以确认它正在发送标头。
标签: php http file-upload http-headers