[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает скрипт загрузки файла
alex455
index.php:

<?php

$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];

move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT'].$name);
echo "ok.";

echo '<br />';
echo '<br />';

?>

<form action="index.php" method="POST" enctype="multipart/form-data">
<
input type="file" name="file" />
<
br />
<
br />
<
input type="submit" value="Submit" />
</
form>


Загружаю страницу в браузере, выбираю файл, нажимаю "Submit", скрипт говорит "ok.", но файл никуда не загружается. А должен в каталог с файлом index.php. В чём ошибся?



Спустя 7 минут, 24 секунды (5.07.2011 - 12:49) linker написал(а):
$_SERVER['DOCUMENT_ROOT'] . '/' . $name

Спустя 1 минута, 15 секунд (5.07.2011 - 12:50) Игорь_Vasinsky написал(а):
move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT']."/".$name);


и не плохо бы сначала использовать is_uploaded();- в моём журнале есть запись-на примере загрузки картинки.

Спустя 20 минут, 21 секунда (5.07.2011 - 13:10) ИНСИ написал(а):
Цитата
и не плохо бы сначала использовать is_uploaded();

Я бы не советовал использовать эту функцию. Она кажется была изменена после 4 версии PHP и работать не будет.

Спустя 9 минут, 36 секунд (5.07.2011 - 13:20) alex455 написал(а):
Отредактировал:

<?php

$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];

move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT']."/".$name);
echo "ok.";

echo '<br />';
echo '<br />';

?>

<form action="index.php" method="POST" enctype="multipart/form-data">
<
input type="file" name="file" />
<
br />
<
br />
<
input type="submit" value="Submit" />
</
form>


Всё равно не работает. Выдаёт "ok.", но ничего в каталог не загружается.

Спустя 11 минут, 18 секунд (5.07.2011 - 13:31) linker написал(а):
Очень и очень давно, функция move_uploaded_file() сама научилась делать is_uploaded_file().

Спустя 1 минута, 5 секунд (5.07.2011 - 13:32) DySprozin написал(а):
alex455
что такой код выдает:

<?php

$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
echo 'name: '.$name.'<br>';
echo 'tmp_name: '.$tmp_name.'<br>';
echo 'loaded: '.move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT']."/".$name).'<br>';



?>

<form
action="index.php" method="POST" enctype="multipart/form-data">
<input
type="file" name="file" />
<br />
<br />
<input
type="submit" value="Submit" />
</form>

Спустя 1 минута, 2 секунды (5.07.2011 - 13:33) linker написал(а):
if ($_FILES['file']['error'])
die('Произошла ошибка при загрузке файла. Номер ошибки: ' . $_FILES['file']['error']);
описание номера ошибки можно найти в официальном мануале по PHP.

Спустя 5 минут, 33 секунды (5.07.2011 - 13:39) alex455 написал(а):
DySprozin,
name: SHP2700 технические характеристики (rus).pdf
tmp_name: /tmp/phpr1Jf3Z
loaded: 1

Файл загрузился.

Спустя 3 минуты, 48 секунд (5.07.2011 - 13:43) alex455 написал(а):
DySprozin,
а вот mp4-файл не загружается.

linker,
ошибок никаких не выдаёт.

Спустя 41 секунда (5.07.2011 - 13:43) DySprozin написал(а):
Цитата
Всё равно не работает.


Цитата
Файл загрузился.


мистика ph34r.gif laugh.gif

;;а вот mp4-файл не загружается.
что мой код выдает?

Спустя 2 минуты, 50 секунд (5.07.2011 - 13:46) alex455 написал(а):
Вот сейчас попробовал загрузить FLV, неудачно, вывод:
name: TEST 1.flv
tmp_name:
loaded:

Спустя 1 минута, 25 секунд (5.07.2011 - 13:47) alex455 написал(а):
Попробовал с mp4, ничего не загрузилось, вывод:
name:
tmp_name:
loaded:

Спустя 43 секунды (5.07.2011 - 13:48) Игорь_Vasinsky написал(а):
вот is_uploaded() и проверяет - загружен ли файл во временную директорию или нет.

вообще по умолчанию у меня на денвере макс. размер файла был 2 мб.

Спустя 50 секунд (5.07.2011 - 13:49) Игорь_Vasinsky написал(а):
вот это для чего те написали?
if ($_FILES['file']['error'])
Цитата
    die('Произошла ошибка при загрузке файла. Номер ошибки: ' . $_FILES['file']['error']);

Спустя 3 минуты, 5 секунд (5.07.2011 - 13:52) linker написал(а):
В php.ini смотреть директивы post_max_size и upload_max_filesize, если размер загружаемого файла превышает любое значение из этих двух директив, то будут ошибки при загрузке.

Спустя 16 минут, 21 секунда (5.07.2011 - 14:08) alex455 написал(а):
Цитата
Произошла ошибка при загрузке файла. Номер ошибки: 1

Исправил max_file_size до 2000 MB.


Код страницы:

<html>

<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</
head>

<
body>
<?php

$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];

if ($_FILES['file']['error'])
die('Произошла ошибка при загрузке файла. Номер ошибки: ' . $_FILES['file']['error']);

echo 'name: '.$name.'<br>';
echo 'tmp_name: '.$tmp_name.'<br>';
echo 'loaded: '.move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT']."/".$name).'<br>';

?>

<form action="index.php" method="POST" enctype="multipart/form-data">
<
input type="file" name="file" />
<
br />
<
br />
<
input type="submit" value="Submit" />
</
form>

</
body>
</
html>


Но это не решило проблемы, многие файлы по-прежнему не загружаются, БЕЗ ОШИБОК и ВЫВОДА ИНФОРМАЦИИ.

Спустя 15 секунд (5.07.2011 - 14:09) ИНСИ написал(а):
Игорь_Vasinsky ты прочел сообщения выше? smile.gif
Цитата
Я бы не советовал использовать эту функцию. Она кажется была изменена после 4 версии PHP и работать не будет.

Цитата
Очень и очень давно, функция move_uploaded_file() сама научилась делать is_uploaded_file().


Спустя 4 минуты, 59 секунд (5.07.2011 - 14:14) alex455 написал(а):
Вроде, заработало... Изменил обе опции
post_max_size
и
upload_max_filesize

Спасибо за помощь.

Спустя 2 минуты, 25 секунд (5.07.2011 - 14:16) linker написал(а):
alex455
Я говорил сразу проверить обе директивы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.