Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с upload файлов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Gordey
Отправлено: 07 Апреля, 2009 - 15:41:32
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




При попытке загрузить файл на хостинг в браузере вылезает такое сообщение:

Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid/gid is 1995/1997 is not allowed to access / owned by uid/gid 0/0 in

В чем проблема?
 
 Top
EuGen Администратор
Отправлено: 07 Апреля, 2009 - 15:52:11
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Вы пытаетесь загрузить файл в каталог, не разрешенный для этого (Судя по всему, прямо в корневой каталог).
Посмотрите список разрешенных в php.ini и работайте с ними.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Гость
Отправлено: 07 Апреля, 2009 - 21:11:50
Post Id


УДАЛЁН










Gordey Так если у вас хостинг то скроее всего включен Safe Mode и многие дефтсвия пользователя просто блокируются
 
 Top
Gordey
Отправлено: 07 Апреля, 2009 - 22:16:19
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




JustUserR пишет:
Так если у вас хостинг то скроее всего включен Safe Mode и многие дефтсвия пользователя просто блокируются

Да, сейчас посмотрел, safe mode там действительно включен, но можно ли как то обойти это ограничение?
 
 Top
EuGen Администратор
Отправлено: 07 Апреля, 2009 - 22:51:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Safe mode действительно не помеха, если действия скрипта настроить правильным образом (опять же повторюсь, не пытайтесь манипулировать файлами в корневом каталоге "/" - Вам это вряд ли дадут сделать)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Гость
Отправлено: 08 Апреля, 2009 - 16:46:52
Post Id


УДАЛЁН










Цитата:
Опять же повторюсь, не пытайтесь манипулировать файлами в корневом каталоге "/" - Вам это вряд ли дадут сделать)
Это коненчо не дадут сделать но по другим причинам - просто физически у вас в системе не будет прав доступа
Вообще права доступа и safe mode - совекршеррно разные вещи - первое это абслютное для всех процессов а второе просто блокиреут функции и операции на PHP
 
 Top
Gordey
Отправлено: 08 Апреля, 2009 - 21:56:18
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




И так после долгих проб и ошибок проблему аплоуда удалось решить следующим путем (весь скрипт не выкладываю, а лишь основную часть):
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  
  3. // myfile - имя передаваемого файла в форме <input name="myfile" type="file">
  4. // $path - путь куда нужно сохранить файл на хостинге
  5.  
  6.  
  7. $fp_d = fopen("$_FILES['myfile']['tmp_name']", "r");       \\ открываем полученный файл
  8.  
  9. $contentsm = fread($fp_d, filesize($_FILES['myfile']['tmp_name']));                       \\ целиком читаем его в эту переменную
  10.  
  11. fclose($fp_d);                                                                \\ закрываем файл
  12.  
  13. $fp_n = fopen($path . $_FILES['myfile']['name'], "w");         \\ создаем файл с оригинальным именем в нужной директории для аплоуда
  14.  
  15. fwrite($fp_n, $contentsm);                                                \\ записываем в него наш полученный файл
  16.  
  17. fclose($fp_n);                                                                   \\ закрываем
  18.  

(Отредактировано автором: 08 Апреля, 2009 - 21:59:40)

 
 Top
EuGen Администратор
Отправлено: 10 Апреля, 2009 - 10:34:26
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




JustUserR
Вот я и говорю, что safe mode тут не помеха


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Гость
Отправлено: 10 Апреля, 2009 - 14:03:08
Post Id


УДАЛЁН










EuGen Эээ вы частично правы Ведь Gordey не спользвал функцию копирогвания файлов а пошел обходным путем через чтение и сохранее содержимого файла

И я говорил о том что safe mode всего лишь блокирует определенные функции PHP и в этом я всетаки прав Улыбка
 
 Top
EuGen Администратор
Отправлено: 10 Апреля, 2009 - 14:08:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Меня, видимо, не так поняли. Своей фразой я как бы и хотел разделить ограничения, которые накладывает safe mode с теми, которые уже (скорее всего) существуют в "/"


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB