Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > загрузка файлов


Автор: Monty Jee 26.3.2005, 10:49
Мне нужно сделать загрузчик изображений через форму.
Делаю форму:
Код

<form name="redact" action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" size="40" maxlength="256">
<input type="submit" value="Ok">
</form>

upload.php:
Код

$filename = "image/$ident.jpg";
copy ($file, $filename);


Картинку он мне загружает, но когда пытаюсь открыть пишет, что "невозможно открыть файл так как он содержит ошибки".
smile smile smile Что я не так делаю??

Автор: Opik 26.3.2005, 10:58
В фак:
http://vingrad.ru/PHP-ART-002361
или в поиск, тема много уже обсуждалась.

Автор: Monty Jee 26.3.2005, 11:14
Я знаю, что в фак... Я этот фак уже вдоль и поперек изучила smile
Я не понимаю, почему он мне файл открывать отказывается...

Автор: Mal Hack 26.3.2005, 13:14
не
Цитата(Monty @ 26.3.2005, 10:49)
copy ($file, $filename);

а
move_uploaded_file

Автор: Irokez 26.3.2005, 13:51
Цитата(Mal @ 26.3.2005, 13:14)
не
Цитата(Monty @ 26.3.2005, 10:49)
copy ($file, $filename);

а
move_uploaded_file

да не обязательно, можно и так
Код

copy($file['tmp_name'], $filename)

Автор: Opik 26.3.2005, 14:09
Monty Jee
Поскольку ошибки
Цитата
невозможно открыть файл так как он содержит ошибки
в ПХП нет, и файл upload.php Вы указали из двух строк, вас в дурге место послать и нельзя было, экстрасенсов здесь нет.

Автор: Mal Hack 26.3.2005, 19:40
Цитата(Irokez @ 26.3.2005, 13:51)
да не обязательно, можно и так

неа. Ты номинально файл еще не сохранил, а copy работает с сохраненными файлами.

Автор: Irokez 27.3.2005, 20:58
Цитата(Mal @ 26.3.2005, 19:40)
Цитата(Irokez @ 26.3.2005, 13:51)
да не обязательно, можно и так

неа. Ты номинально файл еще не сохранил, а copy работает с сохраненными файлами.

почему же, сохранил, он находится во временной директории под временным именем

Автор: IZ@TOP 27.3.2005, 21:02
Самый простой вариант:

Код

<?php

if(isset($_FILES['userfile'])) {

    move_uploaded_file($_FILES['userfile']['tmp_name'], dirname(__FILE__).'/uploaded/'.basename($_FILES['userfile']['name']));

} else {

?>

<form enctype="multipart/form-data" method="post">
    <input type="file" name="userfile">
    <input type="submit" name="sub" value="закачать">
</form>

<?php

}

?>

Автор: Mal Hack 27.3.2005, 21:30
Цитата(Irokez @ 27.3.2005, 20:58)
почему же, сохранил, он находится во временной директории под временным именем

Прав доступа к которой ты не имеешь smile

Автор: Irokez 27.3.2005, 21:34
здрасьте, а как тогда сессии открываются?

Автор: Mal Hack 27.3.2005, 22:16
Сессии это сессии...
А copy это copy.

Автор: Irokez 27.3.2005, 22:18
ну так они тоже хранятся во временной директории, и доступ к ним получаем точно так же как и к обычному файлу

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)