c # — выгрузка XML-файла в веб-каталог с использованием PHP & amp; MVC

У меня проблема с моими php-скриптами в ASP.NET MVC.
Я развернул службы Azure и дважды проверил, включен ли PHP.

PHP-скрипт (upload.php):

<?php
if(move_uploaded_file ($_FILES['file'] ['tmp_name'], "Content/{$_FILES['file'] ['name']}")) {
echo "Programme file uploaded successfully. You will be redirected to the content rater in a few seconds..";
header("refresh:3; url=Home/Index");
exit;
}
else {
echo "XML file not uploaded successfully. Unexpected error.";
header("refresh:3; url=Home/Index");
exit;
}?>

Я пытаюсь загрузить файл в созданную по умолчанию папку (в visual studio) «Контент». Я попытался напечатать местоположение как (и все потерпели неудачу):

  • ~ / Content /
  • / Содержание /
  • Содержание /

Моя форма выглядит следующим образом:

<form action="/Scripts/php/upload.php" method="post" enctype="multipart/form-data">

<label>Select file:</label>
<input type="file" name="file">
<br /><br />

<input type="submit" class="btn btn-success" value="Upload">

</form>

Что бы ни случилось, я всегда получаю сообщение об ошибке.

Я думал, что мой сценарий может быть неправильным, поэтому я попробовал сценарий из W3Schools (пример загрузки изображения), и это тоже всегда терпит неудачу.

После некоторых исследований кажется, что вы не можете загрузить данные в свой собственный веб-каталог в Azure. Это правда?

Какие у меня варианты, если это так?

Я также должен использовать php, поскольку этого требует задача, которую я пытаюсь выполнить.

2

Решение

Немного покопавшись в вашем коде, я получил кое-что, что работает!

Это должно работать идеально для вас, просто измените $target_dir, Я проверил это на моем сайте. У меня были те же проблемы, что и у вас с предоставленным PHP-кодом, что заставляет меня поверить, что Azure не блокирует загрузку.

Было бы целесообразно сделать некоторые проверки, такие как тип файла, размер файла и, тем не менее, существует ли файл для безопасности.

Если у вас все еще есть проблемы, используйте var_dump($_FILES); поскольку он просто выводит переменную, он покажет, действительно ли вы получили файл.

<?php
$target_dir = "Content/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
if(isset($_POST["submit"]))
{
if (move_uploaded_file($_FILES['file']['tmp_name'], $target_file)) {
// Success

print "Received {$_FILES['file']['name']} - its size is {$_FILES['file']['size']}";


} else {
// Failed
print "Upload failed!";
var_dump($_FILES);
}
}
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector