Forum Webscript.Ru

Программирование => PHP => Тема начата: romawka_ural от 20 Июля 2006, 20:45:26

Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: romawka_ural от 20 Июля 2006, 20:45:26
Я сделал upload на php т.е. - человек заходит пишит свои данные и оставляет свое Фото. Проблема: как вытащить фото и показать человек сразу же после отправки данных?
---------------------------------код-----upload.php-----------------






Загрузите своё фото:


------------------------------обработка------------------------------------------
$uploaddir = \'c:/temp/\';
if (move_uploaded_file($_FILES[\'userfile\'][\'tmp_name\'], $uploaddir .$_FILES[\'userfile\'][\'name\']))
{
    print "File is valid, and was successfully uploaded.";
    print $_FILES[\'userfile\'][\'name\']."
";
    print $_FILES[\'userfile\'][\'tmp_name\']."
";
####А КАК МОЖНО ПОКАЗАТЬ КАРТИНКУ ?##########
} else {
    print "Ошибка!";
}
?>
----------------------------------------------------------------------------------

:confused:
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: dub от 20 Июля 2006, 22:26:26
По идее мувать ее надо в какую-нибудь директорию, доступную апачу. Потому как совсем непонятно, зачем ты ее муваешь в c:\\temp.
Например, муваешь в c:\\apache\\www\\site\\public_html\\foto\\
А потом уже
echo \'\';
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: romawka_ural от 20 Июля 2006, 22:36:38
Это для примера! А можно ли засунуть в базу данных и показать её? Я читал инфу на инглиш там я так понял что да А как? Есть ссылки по э
той теме?
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: dub от 20 Июля 2006, 22:50:20
Цитировать
romawka_ural:
Это для примера!

Ну так в твоем примере - никак нельзя ее показать, если, конечно, С:\\temp не является document directory, что вряд ли.

Цитировать
romawka_ural:
А можно ли засунуть в базу данных и показать её?

можно, но не стОит.

Ты, наверное, погугли еще, разберись, что конкретно ты хочешь сделать и задавай более конкретные вопросы, если останутся.

Ну и FAQ (http://forums.webscript.ru/showthread.php?s=&threadid=3931&msgnum=0)
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: romawka_ural от 20 Июля 2006, 22:52:53
погугли ???? непонил!
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: dub от 20 Июля 2006, 22:59:13
http://google.com/
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: reLax[0x00] от 21 Июля 2006, 23:35:47
Зачем все так сложно. Когда юзер закачивает файл, он сначало автоматом качается в temp-директорию сервера, потом ты этот файл скриптом можешь переименовать и загнать в папку, где ты хочешь фотки хранить. Имя файла потом можно сделать к примеру по идентификатору MySQL и какой-нибудь mktime() хотябы в названии (те название фотки будет примерно такое - 5623_10032123321.jpg). Смысл в том, что ты потом по этим идентификаторам пользователя в папке с фотками сможешь отсортировать какие фотки какому юзеру принадлежат. А еще и время, когда он их туда закачал. И не надо в SQL бинарники загонять :) Ну это правда самый простой вариант.
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: reLax[0x00] от 21 Июля 2006, 23:41:42
Ну а если хочешь сразу человеку фотку показать-тебе в любом случае придется либо страницу перегружать, либо перезагружать в отдельном фрейме :) Но опять же, только после того, когда пользователь занесет картинку на сервер и его идентификатор появится или если уже был -не имеет значения, тут уже дело дело техники и фантазии :)
Название: Люди помогите Проблемы с Ulploado\'m
Отправлено: df_pas от 05 Августа 2006, 22:15:26
а связка типа:
$uploaddir = \'base/\';
$uploadfile = $uploaddir . $_FILES[\'userfile\'][\'name\'];
// такая нелогичная связка использовалась из-за того, что вместо
//этого коментария шел блок транслитерации имени файла
$uplfname=$uploadfile
//тут эта связка опущена, просто приравниваем
echo \'Will be uploaded into: \' . $uploaddir . \'
\';
echo "
 $uploadfile; $uplfname
";
print "
";
if (move_uploaded_file($_FILES[\'userfile\'][\'tmp_name\'], $uplfname)) {
    print "File is valid, and was successfully uploaded. ";
   /* print "Here\'s some more debugging info:\\n";
    print_r($_FILES);*/
chmod($uplfname, 0755);
} else {
    print "Possible file upload attack!  Here\'s some debugging info:\\n";
    print_r($_FILES);
}
print "
";
//теперь выводим файл
echo "";