PHP.SU

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

Страниц (7): « 1 2 3 4 5 6 [7]

> Найдено сообщений: 99
Joo Отправлено: 04 Июня, 2010 - 16:58:58 • Тема: Подмена ссылок • Форум: Программирование на PHP

Ответов: 11
Просмотров: 1940
Или так:
PHP:
скопировать код в буфер обмена
  1. $result = preg_replace('/(?<=<a.*?href=["\'])(.*?)(?=["\'])/', 'go.php?url=$1', $content);
Joo Отправлено: 31 Мая, 2010 - 10:37:41 • Тема: установить статус (setResponseStatus) • Форум: Программирование на PHP

Ответов: 4
Просмотров: 286
А если конкретнее то вот так:
PHP:
скопировать код в буфер обмена
  1. header('HTTP/1.1 500 Internal Server Error');
Joo Отправлено: 31 Мая, 2010 - 05:38:34 • Тема: Как совместить .htaccess и header(HTTP/1.0 404 Not Found) • Форум: Программирование на PHP

Ответов: 3
Просмотров: 785
Да, но тогда, вероятно, будет обрабатываться не верно ошибка 500, если возникнет, или я не прав?

Сейчас напрашивается такое решение, хотя я не хотел его.
PHP:
скопировать код в буфер обмена
  1. final class errors{
  2.    static function get404(){
  3.       header(HTTP/1.0 404 Not Found);
  4.       ob_start();
  5.       include(ERR_404_PATH);
  6.       return ob_get_clean();
  7.    }
  8. }


и в нужном месте, где я обрабатываю информацию от существовании/не существовании модуля:
PHP:
скопировать код в буфер обмена
  1. if(!isset($this->moduleList[$modName]){
  2.  return errors::get404();
  3. }else{
  4.  return call_user_method($modName, $this->moduleList, $args);
  5. }


И в модуле генерации, куда ссылается .httaccess, просто прописать:
PHP:
скопировать код в буфер обмена
  1. function do404($args){
  2.   return errors::get404();
  3. }


Это решение мне не нравится тем, что код управляющий модулями привязан к классу errors, который в свою очередь привязан к константе ERR_404_PATH, а я хотел сделать его более инкапсулировано.
Joo Отправлено: 30 Мая, 2010 - 16:43:23 • Тема: Как совместить .htaccess и header(HTTP/1.0 404 Not Found) • Форум: Программирование на PHP

Ответов: 3
Просмотров: 785
Здравствуйте, у меня такой вопрос.
У меня в скриптах, есть модуль генерации ошибок типа 404, 403, 401 и т.д.
В файле .htaccess прописано следующее:
CODE (htmlphp):
скопировать код в буфер обмена
  1. ErrorDocument 404 /?mod=error&do=404


В коде я пишу:
PHP:
скопировать код в буфер обмена
  1. //....
  2. header(HTTP/1.0 404 Not Found);
  3. //....


Если обратиться к действительно не существующей страничке, то нормально отобразится содержимое из модуля error, если же исскуственно передать хидер, то отобразится стандартная страница браузера.

Вариант с ручным инклудом описания ошибки или редиректом с помощью header('Location: /?mod=error&do=404') не очень хочеться использовать. Я так понимаю, нужно чтобы апач подумал, что файла нету и сам отобразил то, что прописано в .htaccess.

Не подскажите как такой финт реализовать, вообще реально ли?
Joo Отправлено: 29 Мая, 2010 - 14:17:37 • Тема: ООП __GET и массивы • Форум: Объектно-ориентированное программирование

Ответов: 5
Просмотров: 4497
JustUserR пишет:
При вызове же вложенных значений объектов надо явно вызывать обрабочик __get как для внутреннего так и для внешнего объекта - именно поэтому внутри обработчика внешнего объекта нужно явно получать ссылку на внутренний объект и возвращать ее

Большое, спасибо, я даже не подумал вызвать у внутреннего объекта __get, теперь нормально работает, так:
PHP:
скопировать код в буфер обмена
  1.  
  2. public function &__get($name){
  3.     //pGet - это объект нашего первого класса
  4.     return $this->pGet->__get($name);
  5. }
Joo Отправлено: 29 Мая, 2010 - 12:01:10 • Тема: ООП __GET и массивы • Форум: Объектно-ориентированное программирование

Ответов: 5
Просмотров: 4497
Здравствуйте!
У меня такой вопрос, есть класс в котором реализован метод __GET

PHP:
скопировать код в буфер обмена
  1. public function __GET($name){
  2.   return $this->vars[$name];
  3. }
  4.  

Так не работает если работать с массивами

так, не чего не получается и изменения в $this->var не происходит, но оно и ясно, так-как мы вернули копию объекта.

Второй вариант вернуть сылку:
PHP:
скопировать код в буфер обмена
  1. public function &__GET($name){
  2.   return $this->vars[$name];
  3. }

Так работает отлично, вроде можно успокоиться, но есть другой класс, у которого есть свойство типа вот этого самого объекта, и мне необходимо реализовать внутри нового класса подобный __GET
Как правильно такое реализовать, чтобы работали массивы и объекты?
По идее надо так:
PHP:
скопировать код в буфер обмена
  1. public function &__GET($name){
  2.   //pGet - это объект нашего первого класса
  3.   return $this->pGet->$name;
  4. }

Но так не работает, ссылку на ссылку говорит не переадть, хорошо, так:
PHP:
скопировать код в буфер обмена
  1. public function __GET($name){
  2.   //pGet - это объект нашего первого класса
  3.   return $this->pGet->$name;
  4. }

Опять не работает, для массивов, говорит "Notice: Indirect modification of overloaded property module_sale::$massiv has no effect"

Я пока пришел к такому варианту, он работает, но правильно ли это?
PHP:
скопировать код в буфер обмена
  1. public function &__GET($name){
  2.   //pGet - это объект нашего первого класса
  3.   $ret = &$this->pGet->$name;
  4.   return $ret;
  5. }
Joo Отправлено: 17 Ноября, 2009 - 17:57:52 • Тема: Создание/Удаление файлов на другом ПК • Форум: Программирование на PHP

Ответов: 5
Просмотров: 310
Монстр_11111 пишет:
Проверь чмод, названия фалов и папок на латинице и т.д.

Точно!
Я забыл назначить прав, на этот ресурс для пользователя от имени которого работает Apache.

Спасибо! Тему считаю раскрытой.
Joo Отправлено: 17 Ноября, 2009 - 17:03:13 • Тема: Создание/Удаление файлов на другом ПК • Форум: Программирование на PHP

Ответов: 5
Просмотров: 310
OverNik пишет:
Пробывали:
PHP:
скопировать код в буфер обмена

1.
opendir("\\xxx.xxx.xxx.xxx\folder\folder")



Делал для своей сети web загрузку файлов на разные сетевые машины - работало!


Я уже каких только вариантов не перепробовал, не как не выходит. может в настройка php.ini что-то не так.
Joo Отправлено: 17 Ноября, 2009 - 16:42:56 • Тема: Создание/Удаление файлов на другом ПК • Форум: Программирование на PHP

Ответов: 5
Просмотров: 310
Привет, Уважаемые форумчане!

Создавая приложение, по производственное необходимости столкнулся с проблемой.

Есть два сервера, на одном (WEB) работает веб-сервер, на другом (ASU) работает производственная прога. На ASU есть сетевая папка, доступная для чтения/записи, мне нужно с сервера WEB получать список файлов в этой папке, создавать там файлы и удалять(перемещать).

С локальными папками проблем нет, а вот по сети не чего не выходит, даже если подключить сетевой диск.

На сервере ASU нет возможности запустить HTTP/FTP/др. сервер, есть только сетевая папка.

Страниц (7): « 1 2 3 4 5 6 [7]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB