Я довольно новичок в php. Я пытаюсь загрузить файл. И это работает.
Но сейчас я пытаюсь сделать POST-запрос через C # (не зависит от C #, ошибка должна быть где-то в моем php-коде), и он не работает.
Ответ / Ошибка говорит:
Undefined index: fileToUpload in <b>C:\xampp\htdocs\subdir\process.php</b> on line <b>8</
строка 8, например,
$ target_file = $ target_dir. rand () .basename ($ _ FILES ["fileToUpload"] ["name"]);
Я проверил заголовок запроса с помощью fiddler при успешной загрузке файла через веб-сайт, но не получаю никакой информации, которая могла бы мне помочь.
Заголовок запроса Fiddler Raw:
POST /subdir/process.php HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 45551695
Cache-Control: max-age=0
Origin: http://localhost
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryepwGfigXDyjxAtPu
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3650.1 Iron Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://localhost/subdir/upload.php
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
upload.php:
<form action="process.php" method="post" enctype="multipart/form-data">
<b>Select file to upload:</b><br><br>
<input type="file" name="fileToUpload" id="fileID"><br>
<input type="submit" value="Upload file" name="submit">
</form>
process.php:
header("Content-type: text/plain");
$target_dir = "uploads/";
$target_file = $target_dir . rand() .basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file. \nError Code:". $_FILES["fileToUpload"]['error'];
}