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 :: Странная ошибка при загрузке изображения на сервер

 PHP.SU

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


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

> Описание: failed to open stream: HTTP wrapper does not support writeable connections in ...
maksmib
Отправлено: 14 Января, 2011 - 16:49:32
Post Id



Гость


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


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




Доброго времени суток, господа.
При попытке загрузить изображение на сарвер, получаю странную ошибку:

Warning: copy(http://site.com/imgs/test.jpg) [function.copy]: failed to open stream: HTTP wrapper does not support writeable connections in /home/domains/site.com/public_ht ml/index.php on line 217

Не хватает прав на директорию что ли ..или в чем то другом проблема может быть?
chmod говорит, что на эту директорию у меня 755

Подскажите пожалуйста. Ниндзя
 
 Top
Мелкий Супермодератор
Отправлено: 14 Января, 2011 - 17:02:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Ошибка говорит о том, что вы пытаетесь файл сохранить через http, вместо файлового доступа, а таковой метод не поддерживается.


-----
PostgreSQL DBA
 
 Top
maksmib
Отправлено: 14 Января, 2011 - 17:02:59
Post Id



Гость


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


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




ага..
у меня функция copy вторым параметром получала путь типа "http://.../imgs/..."
но через http нельзя данные сохранять ..надо указывать локальный путь
и вот тут то проблема, т.к. я использую RewriteEngine
..как же можно тогда поступить? Не понял
 
 Top
Мелкий Супермодератор
Отправлено: 14 Января, 2011 - 17:05:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




maksmib пишет:
и вот тут то проблема, т.к. я использую RewriteEngine

А в чём проблема? rewrite же обрабатывает http адреса, поэтому с вашей проблемой не пересекается вообще.


-----
PostgreSQL DBA
 
 Top
maksmib
Отправлено: 14 Января, 2011 - 19:01:33
Post Id



Гость


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


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




Тогда странно ..если указать относительный путь, получаю:
Warning: copy(imgs/test.jpg) [function.copy]: failed to open stream: Permission denied in /home/domains/site.com/public_ht ml/index.php on line 217
 
 Top
OrmaJever Модератор
Отправлено: 14 Января, 2011 - 19:11:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




а путь верный? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Мелкий Супермодератор
Отправлено: 14 Января, 2011 - 19:13:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




maksmib, а вот теперь всё закономерно, т.к. по вашим же словам на директорию стоят 755 права, вместо 777, которые позволят производить запись всем процессам.

(Отредактировано автором: 14 Января, 2011 - 19:17:33)



-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 15 Января, 2011 - 19:48:05
Post Id



Активный участник


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


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




maksmib пишет:
Но через http нельзя данные сохранять ..надо указывать локальный путь и вот тут то проблема, т.к. я использую RewriteEngine ..как же можно тогда поступить?
Для осуществления целевой работы с файловыми объектами необходимо использование локальных файловых путей являющихся фиксированными для заданной области расположения web-сайта и входщих в него PHP-приложений в виртуальном хосте - в то же время использование средств HTTP-сервера позволяет производить мануальную обработку ассоцированых элементов URL-путей которая не является связанной с локальными файловыми путями


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
maksmib
Отправлено: 17 Января, 2011 - 08:41:49
Post Id



Гость


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


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




Мелкий пишет:
а вот теперь всё закономерно, т.к. по вашим же словам на директорию стоят 755 права, вместо 777

Капец! Ниндзя
Вы правы. И снова выражаю вам большую благодарность.
Я до последнего не верил, что не хватает прав, хоть и видел соответствующее сообщение., ведь всегда хватало для подобных операций 755
(Добавление)
JustUserR пишет:
Для осуществления целевой работы с файловыми объектами необходимо использование локальных файловых путей являющихся фиксированными для заданной области расположения web-сайта и входщих в него PHP-приложений в виртуальном хосте - в то же время использование средств HTTP-сервера позволяет производить мануальную обработку ассоцированых элементов URL-путей которая не является связанной с локальными файловыми путями


Вот этой тонкости я и не знал.
Учебники читать к сожалению совершенно некогда, поэтому приходится все решать методом научного тыка.
Еще раз спасибо всем за подсказки Улыбка
 
 Top
Мелкий Супермодератор
Отправлено: 17 Января, 2011 - 09:59:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




maksmib пишет:
ведь всегда хватало для подобных операций 755

Хватит и 700 (может даже и 600, не помню точно), но только если владелец директории - тот пользователь, от имени которого работает скрипт.


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Января, 2011 - 10:01:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Мелкий 600 хватит ))) +1 это еще и исполнение
 
 Top
Мелкий Супермодератор
Отправлено: 17 Января, 2011 - 10:18:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




DeepVarvar, ага, как бы не так, проверил:
600 права - доступ запрещён
700 права - запись успешна
//права устанавливаются на директорию, владелец - www-data, от имени которого запущен апач, запись производилась через file_put_contents

Т.о. для записи в директорию, необходимо иметь право на запуск директории (так же известное как право на просмотр директории)
А абсолютный минимум прав для создания файла в директории - 300


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Января, 2011 - 10:23:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Мелкий пишет:
600 права - доступ запрещён

Очень странно, я ставлю даже для разделяемой памяти 600 и все работает.
 
 Top
JustUserR
Отправлено: 17 Января, 2011 - 15:22:32
Post Id



Активный участник


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


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




maksmib пишет:
Вот этой тонкости я и не знал
Существующее некорректное описания указанного факта является следствием описания работы web-сервера как трансляции выбранной директории виртуального хоста в облаость URL-адресов - в то время как указанное поведение не является фиксированным и обязательным
Мелкий пишет:
Т.о. для записи в директорию, необходимо иметь право на запуск директории (так же известное как право на просмотр директории)
А абсолютный минимум прав для создания файла в директории - 300
В рассматриваемых linux-подобных спецификациях огранизации файловой системы - каждая директория в действительности является специальным файлом содержащим описания соответствующих индексных дескрипторов входящих в нее элементов - при этом никакая конкретная информация связанная с файлом кроме его индексного дексриптора и локального имени не хранится в описании директории А так как для осуществления записи в некоторый файл достаточно искючиельно права на запись в него - то для создания и удаления файловых объектов в целевом каталоге достаточно исключительного права на запись Возможно обычные консольные команды не позволяют производиться требуемые действия в заданном урвоне привелегий - однако интерфейс системных вызовов предоставляет такую возможность


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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