Загрузить файл mp4

Я пытаюсь загрузить файл mp4 с помощью php, и мне это удается, но после этого файл не может быть запущен с VLC, даже если его можно запустить перед загрузкой. Сообщение об ошибке говорит, что файл не может быть открыт, дает мне путь к файлу и заканчивается (Bad File Descriptor).
Я сделал следующие настройки в файле php.ini:

file_uploads = On
upload_max_filesize = 25M
post_max_size = 25M

Вот мой код:

if ($_FILES["video"]["name"] == "") {
$error = "No video imported.";
}
else {
if (file_exists("uploads/" . $_FILES["video"]["name"])) {
$error = "The file already exists.";
}
else if ($_FILES["video"]["type"] != "video/mp4") {
$error = "File format not supported.";
}
else if ($_FILES["video"]["size"] > 26214400) {
$error = "Only files <= 25ΜΒ.";
}
else {
move_uploaded_file($_FILES["video"]["tmp_name"], "uploads/" . $_FILES["video"]["name"]);
}
}

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" enctype="multipart/form-data">
<fieldset>
<div class="area">
<label for="path">Select file:</label>
<input class="upload" type="file" name="video"></input>
<span><?php echo $error; ?></span><br />
</div>
</fieldset>

<input type="submit" name="insert" value="upload"></input>
</form>

0

Решение

У вас была синтаксическая ошибка в строке 4 & 5. Должно быть

} elseif (file_exists("uploads/" . $_FILES["video"]["name"])) {

Не:

} else {
if (file_exists("uploads/" . $_FILES["video"]["name"])) {

Этот код был протестирован и работает.

<?php
if ($_FILES["video"]["name"] == "") {
$error = "No video imported.";
} elseif (file_exists("uploads/" . $_FILES["video"]["name"])) {
$error = "The file already exists.";
} elseif ($_FILES["video"]["type"] != "video/mp4") {
$error = "File format not supported.";
} elseif ($_FILES["video"]["size"] > 26214400) {
$error = "Only files <= 25??.";
} else {
move_uploaded_file($_FILES["video"]["tmp_name"], "uploads/" . $_FILES["video"]["name"]);
}

?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" enctype="multipart/form-data">
<fieldset>
<div class="area">
<label for="path">Select file:</label>
<input class="upload" type="file" name="video"></input>
<span><?php echo $error; ?></span><br />
</div>
</fieldset>

<input type="submit" name="insert" value="upload"></input>
</form>
2

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

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

По вопросам рекламы [email protected]