Веб-страница загрузки видео не будет загружена - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь собрать простую страницу загрузки видео.Я видел в своем обзоре документации по PHP, веб-сайте W3schools и принятом ответе на этот вопрос здесь ранее.Кажется, что форма HTML и страница PHP - эффективное решение.Моя текущая попытка здесь:

Форма HTML:

<!-- From Stack Overflow https://stackoverflow.com/questions/18217964/upload-video-files-via-php-and-save-them-in-appropriate-folder-and-have-a-databa/18219669 -->
<!DOCTYPE html>

<head>
<title></title>
</head>

<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file"><span>Filename:</span></label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

Страница PHP:

<?php
//var_dump($_FILES);
//$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");
$allowedExts = array("mp4");
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

if (($_FILES["file"]["type"] == "video/mp4")
/*if ((($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "audio/mp3")
|| ($_FILES["file"]["type"] == "audio/wma")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg"))*/
&& ($_FILES["file"]["size"] < 20000000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0) {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

   if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "uploads/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

Я получаю уведомления PHP «Неопределенный индекс: файл» из моего тестированиясервер.Конечный результат запуска - неудачная загрузка и сообщение «Неверный файл».

Команда «var_dump ($ _ FILES)» в заголовке файла PHP появляется пустой.Удаление атрибута enctype из тега передает имя файла, но не загружает файл.Я получил аналогичные результаты из школьного кода W3.

Я подозреваю, что это не код, а проблема конфигурации PHP, но я не знаю, где искать.Я использую PHP 5.6.25 в WampServer 3.0.6.

Куда мне обратиться?

1 Ответ

0 голосов
/ 29 ноября 2018

Ответ лежит в настройках Wamp php.ini.Они слишком консервативны для больших загрузок, таких как, в моем случае, видеофайлы.Я нашел более ранний вопрос StackOverflow на WAMP Загрузка большого файла , который решает проблему.Я попытался отредактировать файл c: \ wamp \ alias \ phpmyadmin.conf, но у меня это не сработало.Что сработало, так это открытие файла PHP.ini в Wamp.Обратите внимание, что предыдущий пост запрещает переходить непосредственно к INI-файлу.Это должно быть сделано через Wamp.Я изменил post_max_size, upload_max_file_size, max_execution_time

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...