Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 01:45   #1
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию Почему может не работать аплоад файлов на сервер?

Фрагмент html кода формы.
Код HTML:
<form method="POST" action="hellokitty.php" enctype="multipart/form-data">
<input size="60" id="photo-input" type="file" name="photo" 
		onchange='document.getElementById("fl-layer").value=this.value;'>
		<input id="fl-layer" readonly="readonly">
input сделан таким, чтобы модифицировать внешний вид кнопки. На работоспособности элемента это никак не сказалось, окошко выбора файла выскакивает.

Фрагмент php кода:
PHP код:
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
   {
    
move_uploaded_file($_FILES['userfile']['tmp_name'], "/photos/".$_FILES['userfile']['$photoname']);
   } else {
      die(
"Ошибка загрузки файла"); 
   } 
В php.ini file_uploads on, размер загружаемого файла довольно маленький. Около 200-300 Кб.

Скрипт всегда выдает «Ошибка загрузки файла», то есть как я понимаю файл даже не загружается во временную директорию, в чем ошибка?
Revival001 вне форума Ответить с цитированием
Старый 18.12.2011, 03:10   #2
artimed
 
Регистрация: 18.12.2011
Сообщений: 7
По умолчанию

Провер Chmod (права) на выше указанные папки!
artimed вне форума Ответить с цитированием
Старый 18.12.2011, 16:55   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Revival001 Посмотреть сообщение
<input size="60" id="photo-input" type="file" name="photo"
....
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
Имена полей не совпадают.
var_dump($_FILES); - помогает понять, что и куда приходит.
Andkorol вне форума Ответить с цитированием
Старый 18.12.2011, 23:47   #4
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию

Цитата:
Сообщение от artimed Посмотреть сообщение
Провер Chmod (права) на выше указанные папки!
Права поставил 777

Цитата:
Имена полей не совпадают.
var_dump($_FILES); - помогает понять, что и куда приходит.
Поправил. Все равно не работает. var_dump выдает:
array(1) { ["photo"]=> array(5) { ["name"]=> string(34) "z_c3bc0175_1__reasonably_small.jpg " ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(6) ["size"]=> int(0) } }
Revival001 вне форума Ответить с цитированием
Старый 19.12.2011, 00:12   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Судя по коду ошибки это означает, что отсутствует временная папка.
Смотрите в php.ini параметр upload_tmp_dir, возможно, стоит принудительно задать какую-либо временную директорию и дать права на запись.

Последний раз редактировалось Arigato; 19.12.2011 в 00:16.
Arigato вне форума Ответить с цитированием
Старый 19.12.2011, 03:15   #6
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию

Цитата:
Судя по коду ошибки это означает, что отсутствует временная папка.
Смотрите в php.ini параметр upload_tmp_dir, возможно, стоит принудительно задать какую-либо временную директорию и дать права на запись.
Действительно upload_tmp_dir не задан. Доступа к php.ini нет. Записал в htaccess
Задал. Теперь ошибку не выдает, но и файл в нужной директории не появляется.
--
Все ребят большое спасибо. Я путь к месту загрузки указал не полностью, теперь все работает.

Последний раз редактировалось Revival001; 19.12.2011 в 04:28.
Revival001 вне форума Ответить с цитированием
Старый 08.04.2012, 19:08   #7
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию

Не буду создавать новую тему. Все работало, но неожиданно прекратило. Просто так. К коду не притрагивался. Возможно хостер крутит что-то с настройками, но upload_tmp_dir снова не задан, хотя прописан в php.ini

Как такое возможно?
Revival001 вне форума Ответить с цитированием
Старый 08.04.2012, 19:17   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Revival001 Посмотреть сообщение
Как такое возможно?
php.ini вполне может быть не один, и в вашем случае, возможно, используется не этот экземпляр конфигурационного файла.
Это предположение - исходя из phpinfo.
Проверить можно в том же phpinfo - строка "Loaded Configuration File" указывает путь к текущему конфигу.
Andkorol вне форума Ответить с цитированием
Старый 08.04.2012, 19:22   #9
Revival001
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 483
По умолчанию

Судя по «Loaded Configuration File» это один и то же конфиг. Может еще может быть какая-то причина?

Последний раз редактировалось Revival001; 08.04.2012 в 19:25.
Revival001 вне форума Ответить с цитированием
Старый 08.04.2012, 19:32   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Проверил у себя в настройках - тоже не задан этот параметр, тем не менее - upload проходит нормально.
Ещё в паре проектов на разных хостингах - так же, не указан параметр, но upload норм.
Видимо юзается настройка по умолчанию.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
if не хочет работать, объясните почему! Npwas Помощь студентам 2 13.12.2011 22:22
Может ли биоз работать без баторейки? VintProg Компьютерное железо 5 31.10.2010 16:49
Перестал работать плеер. Что может быть? infrared Софт 3 29.03.2010 13:01
Почему Программа не хочет работать strateg0793 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 21.01.2010 14:10
Может кто хочет работать на идею? synet Свободное общение 23 15.02.2009 14:10