Мой HTML-код
<form method="post" enctype="multipart/form-data" action="upload.php"> <input type="file" name='image' > <input type="SUBMIT" value="Submit"> </form>
PHP-код (упоминается только строка, которая ошибочна)
<?php list($waste,$extension) = explode("/",$_FILES["image"]["type"]);echo $extension; ?>
Он дает расширение файла, если файл является изображением, но он дает ошибку в случае видео.
ОШИБКА
( ! ) Notice: Undefined index: image in D:\wamp\www\upload.php on line 3 Call Stack # Time Memory Function Location 1 0.0007 364904 {main}( ) ..\upload.php:0 ( ! ) Notice: Undefined offset: 1 in D:\wamp\www\upload.php on line 3 Call Stack # Time Memory Function Location 1 0.0007 364904 {main}( ) ..\upload.php:0
Скажите, пожалуйста, как заставить его работать и для загрузки видео.
Функция ini_set
ini_set("max_filesize","150M");
Вам нужно проверить, доступны ли переменные до того, как вы начнете работать над ним, и о том, что вам нужно $_FILES
о том, как работать с $_FILES
см . $_FILES
. PHP
<?php if (isset ( $_FILES ['image'] )) { $extension = pathinfo ( $_FILES ['image'] ['name'], PATHINFO_EXTENSION ); echo $extension; } ?> <form method="post" enctype="multipart/form-data" action=""> <input type="file" name='image'> <input type="SUBMIT" value="Submit"> </form>
Похоже, что для видеофайлов размер файла слишком большой (126 МБ, как сообщает OP). Таким образом, PHP-скрипт никогда не получает файл.
Есть несколько мест, где вы можете посмотреть, как это изменить. Во-первых, вы можете установить максимальный размер файла в форме HTML:
<input type="hidden" name="MAX_FILE_SIZE" value="157286400" /> <!-- 150 MB -->
Кроме того, вам может потребоваться настроить некоторые переменные в файле php.ini:
http://www.cyberciti.biz/faq/linux-unix-apache-increase-php-upload-limit/