Необходимо настроить связку пхп и апач для загрузки файлов на сервак (ОС OpenSuSe). Есть такой код PHP: if ($_FILES['userfile']['error'] > 0) { echo 'Проблема: '; switch ($_FILES['userfile']['error']) { case 1: echo 'размер файла больше upload_max_filesize'; break; case 2: echo 'размер файла больше max_file_size'; break; case 3: echo 'загружена только часть файла'; break; case 4: echo 'файл не загружен'; break; } exit; } // Проверка, имеет ли файл правильный MIME-тип? if ($_FILES['userfile']['type'] != 'text/html') { echo 'Проблема: файл не является текстовым'; exit; } // Извлекаем имя $filname = $_FILES['userfile']['name']; // Проверяем на 0 if (filesize ($filname ) == 0) { echo 'Файл пуст и не содержит информации'; exit; } // помещаем файл туда, куда нужно $upfile = 'home/sergey/'.$filname; if ($_FILES['userfile']['tmp_name']) { if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile)) { echo 'Проблема: невозможно переместить файл в каталог назначения'; exit; } } else { echo 'Проблема: возможна атака через загрузку файла. Файл: '; echo $_FILES['userfile']['name']; exit; } echo 'Файл успешно загружен.<br /><br /> ?> Вывод: Warning: move_uploaded_file(home/sergey/forma.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in /srv/www/htdocs/registr/uploader.php on line 41 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpsSLKVK' to 'home/sergey/forma.txt' in /srv/www/htdocs/registr/uploader.php on line 41 Проблема: невозможно переместить файл в каталог назначения В php.ini - Upload_tmp_dir = "/tmp", file_uploads = on, Рзмер 16м. Я предпологаю что эта ситуация из за прав на /tmp пренадлежащих root. В Windows все работает. Как решить данную проблему, нехочетя /tmp делать общим, или я чегото не понимаю?
Этот вопрос помоему ничего общего к пхп не имеет, тебе нужно попробывать поставить каталогу sergey права на запись для пользователя apache, он у тебя из темпа не может перетащить файл в твой каталог
Пробывал ставить права chmod 777 из терминала под root не прокатило, есть какие то проблемы в настройках а где рыть не знаю
попробуй $upfile указать путь до папки которая создана в корневом каталоге твоего веб сайта в папке public_html, если в винде работает скрипт значит все проблемы в правах скорее всего
Перепробовал много вариантов но пока не прописал в Upload_tmp_dir = "/home/upload/" и туда же $upfile с правами 777 отказывается работать. Не знаю может и есть более правельный вариант? Куда вообще правельней Upload_tmp_dir = поместить есть какие либо ограничения по поводу безопастности?