telesar
Новичок
Снова UPLOAD. Сдаюсь. Помогайте.
Две недели я пытался изучить этот вопрос и освоить UPLOAD самостоятельно. Я прочитал многое из того, что доступно, некоторые вещи по несколько раз. Не получается.
Значит, ситуация следующая:
1) Через форму заливается файл (картинка).
2) Через getimagesize проверяем ее валидность.
3) Записываем ссылку на файл в БД, получаем имя, под которым надо сохранить этот файл (имя_файла=автоинкремент. поле)
4) Через move_uploaded_file записываем файл в нужный каталог.
И все бы хорошо, да только getimagesize не работает, пока файл лежит во временной папке (open_basedir, знаете ли, не дает).
Получается, что getimagesize должен идти последним пунктом.
Но если картинка окажется инвалидной, придется ее стирать, удалять из базы строчку (а значение автоинкремент. поля уже вообще не восстановишь, ну это так, к слову...).
Не красиво... К тому же в http://detail.phpclub.net/article/upload прямо сказано:
Добавление в .htaccess строчки
php_value upload_tmp_dir "/home/telesar/tmp" - не дает никакого эффекта;
php_admin_value upload_tmp_dir "/home/telesar/tmp" - дает 500 Internal Server Error, Error Log сообщает, что php_admin_value не допустим...
ini_set нужные мне параметры изменить не может, php.ini - для меня недоступен. Хостера не стоит даже пытаться озадачить (это печально известный Dinohost).
Добило же меня то, что сегодня аплоад вообще перестал работать: файл не загружается, массив $_FILES не создается, включение error_reporting(E_ALL) приводит к появлению доброжелательного сообщения:
Notice: Undefined index: avatara in /home/telesar/public_html/forum/regobrab.php on line 3 (в третьей строке стоит: print_r($_FILES['avatara'])
И что делать дальше ?...
phpinfo() сообщает такие подробности:
file_uploads On
open_basedir /home/telesar:/usr/lib/php:/usr/local/lib/php:/tmp
post_max_size 55M
safe_mode Off
upload_max_filesize 2M
upload_tmp_dir no value
user_dir no value
max_input_time -1 (кстати, что это?, это так и должно быть?)
И вот еще такая подробность: вчера phpinfo(), запущенный из remview_2003_10_23, сказал мне, что
_SERVER["HTTP_REFERER"] http://www.searchpirates.ca/chat/info.php. С чего бы это, а?
Две недели я пытался изучить этот вопрос и освоить UPLOAD самостоятельно. Я прочитал многое из того, что доступно, некоторые вещи по несколько раз. Не получается.
Значит, ситуация следующая:
1) Через форму заливается файл (картинка).
2) Через getimagesize проверяем ее валидность.
3) Записываем ссылку на файл в БД, получаем имя, под которым надо сохранить этот файл (имя_файла=автоинкремент. поле)
4) Через move_uploaded_file записываем файл в нужный каталог.
И все бы хорошо, да только getimagesize не работает, пока файл лежит во временной папке (open_basedir, знаете ли, не дает).
Получается, что getimagesize должен идти последним пунктом.
Но если картинка окажется инвалидной, придется ее стирать, удалять из базы строчку (а значение автоинкремент. поля уже вообще не восстановишь, ну это так, к слову...).
Не красиво... К тому же в http://detail.phpclub.net/article/upload прямо сказано:
Что же делать?Не стоит изобретать велосипед и работать самому с временными файлами, копировать их, удалять. Это уже сделано до Вас и для Вас.
Добавление в .htaccess строчки
php_value upload_tmp_dir "/home/telesar/tmp" - не дает никакого эффекта;
php_admin_value upload_tmp_dir "/home/telesar/tmp" - дает 500 Internal Server Error, Error Log сообщает, что php_admin_value не допустим...
ini_set нужные мне параметры изменить не может, php.ini - для меня недоступен. Хостера не стоит даже пытаться озадачить (это печально известный Dinohost).
Добило же меня то, что сегодня аплоад вообще перестал работать: файл не загружается, массив $_FILES не создается, включение error_reporting(E_ALL) приводит к появлению доброжелательного сообщения:
Notice: Undefined index: avatara in /home/telesar/public_html/forum/regobrab.php on line 3 (в третьей строке стоит: print_r($_FILES['avatara'])

И что делать дальше ?...
phpinfo() сообщает такие подробности:
file_uploads On
open_basedir /home/telesar:/usr/lib/php:/usr/local/lib/php:/tmp
post_max_size 55M
safe_mode Off
upload_max_filesize 2M
upload_tmp_dir no value
user_dir no value
max_input_time -1 (кстати, что это?, это так и должно быть?)
И вот еще такая подробность: вчера phpinfo(), запущенный из remview_2003_10_23, сказал мне, что
_SERVER["HTTP_REFERER"] http://www.searchpirates.ca/chat/info.php. С чего бы это, а?