PHP.SU

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

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

> Найдено сообщений: 12
almair Отправлено: 07 Марта, 2012 - 13:01:51 • Тема: Помогите с реврайтом • Форум: Вопросы новичков

Ответов: 4
Просмотров: 201
Вопрос в догонку, реально ли решить эту проблему средствами htaccess
Есть:
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*? index.php

все нормально работает, но есть один ньюанс, к примеру ссылка на картинку которой нет на сайте кидает на index.php, можно ли как то отфильтровать, что если не существует файла с расширением (js,css,jpg,png,gif) кидало 404 а не перебрасывало на index.php , через пыхпых это решаемо, а вот через htaccess не получилось добиться, мб кто подскажет?

P.s. Ох, создавал в другой теме, пока логинился не в той создал, попутал закладки
almair Отправлено: 15 Февраля, 2012 - 13:21:53 • Тема: Singletone • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3110
ох , извиняюсь, все ок, перемудрил с запятыми

CODE (htmlphp):
скопировать код в буфер обмена
  1. PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.",".DB_USER.",".DB_PASS);
  2. надо
  3. PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME , DB_USER , DB_PASS);


Вопрос в догонку, есть возможность использовать в строке константу:

CODE (htmlphp):
скопировать код в буфер обмена
  1. define ("SLOVO","новое");
  2.  
  3. $text = "Это просто <SLOVO> для меня";


а то приходится:
CODE (htmlphp):
скопировать код в буфер обмена
  1. define ("SLOVO","новое");
  2.  
  3. $text = "Это просто".SLOVO." для меня";
almair Отправлено: 15 Февраля, 2012 - 12:41:56 • Тема: Singletone • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3110
Попробовал повторить на PDO вываливается с ошибками, что не так?
CODE (htmlphp):
скопировать код в буфер обмена
  1. class DbConn{
  2.  
  3.        
  4.  
  5.         private $_db;
  6.  
  7.         static private $_instance=null;
  8.  
  9.         private function __construct(){
  10.                define ("SQLCHARSET", "uft8" );
  11.                echo "mysql:host=".DB_HOST.";dbname=".DB_NAME.",".DB_USER.",".DB_PASS;
  12.                 $this->_db = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.",".DB_USER.",".DB_PASS);
  13.                 $this->_db->query ( 'SET character_set_connection = ' . SQLCHARSET . ';' );
  14.                 $this->_db->query ( 'SET character_set_client = ' . SQLCHARSET . ';' );
  15.                 $this->_db->query ( 'SET character_set_results = ' . SQLCHARSET . ';' );
  16.                 $this->_db->exec('SET NAMES utf8');
  17.  
  18.                        
  19.  
  20.         }
  21.  
  22.         private function __clone(){}
  23.  
  24.         static function getInstance(){
  25.  
  26.                 if(self::$_instance==null){
  27.  
  28.                         self::$_instance=new DbConn();
  29.  
  30.                 }
  31.  
  32.                 return self::$_instance;
  33.  
  34.         }
  35.         function selectFromDb($sql){
  36.                 $result=$this->_db->prepare($sql);
  37.                 if (!$result->execute ()){echo "Ошибка";}
  38.  
  39.                 if($result)
  40.                          return $result;
  41.                 else
  42.                          return null;
  43.         }
  44. }
almair Отправлено: 15 Февраля, 2012 - 07:35:16 • Тема: Шаблоны для своей CMS • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 3089
Первый вариант, файл шаблона считывается из файла, потом в нем заменяются через str_replace определенные значения, к примеру {TITLE}, {DESCRIPTION}.
Второй вариант , шаблон инклюдится и подставляются переменные.
almair Отправлено: 15 Февраля, 2012 - 07:21:30 • Тема: использование constant в class • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 1362
Огорчение плохо, потому что у родительского класса уже есть конструктор, не хотелось бы его замещать
almair Отправлено: 10 Февраля, 2012 - 14:46:01 • Тема: использование constant в class • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 1362
Подскажите как можно использовать константу в классе?
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $test = "Новый";
  3. define ('TEST', $test);
  4.  
  5. class new extends old
  6. {
  7.        public $new_data = array ( TEST."_заголовок" => "текст");
  8. }


Ругается на точку склейки, есть ли вариант обхода или мб я что то не так делаю?
Пробовал и так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. public $new_data = array ({TEST}."_заголовок" => "текст");
almair Отправлено: 21 Апреля, 2011 - 09:45:29 • Тема: htaccess RewriteRule • Форум: Программирование на PHP

Ответов: 2
Просмотров: 285
Спасибо помогло
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*? index.php

Но теперь можно обратиться к рабочим файлам php напрямую, хотелось бы этого избежать, аля защитка Закатив глазки Не подскажете как сделать что бы перебрасывало на основной php файл если обращение напрямую идет к другим php файлам, например при вводе www[dot]domen[dot]ru/classes/class.php перекидывало на www[dot]domen[dot]ru т.е. www[dot]domen[dot]ru/index.php желательно без привязки к определенным каталогам, так как модули постоянно добавляются Подмигивание
almair Отправлено: 21 Апреля, 2011 - 09:20:13 • Тема: htaccess RewriteRule • Форум: Программирование на PHP

Ответов: 2
Просмотров: 285
Нужно сделать переброс на index.php конструкций аля www[dot]domen[dot]ru/page/111/

делаю :
RewriteEngine on
RewriteRule .*? index.php

все работает, но возникает проблема с файлами css, изображений , но это решаемо так как имеет статичные каталоги, то с js возникают проблемы, в частности с tiny_mce и ее модулей.

Как сделать так что бы если идет обращение к файлу с типом js|png|gif|jpg|css и они существует открывало их, а не перебрасывало на index.php
Попробовал так, но я мб не понимаю что я делаю, не работает Огорчение
RewriteEngine on
RewriteRule .*\.(gif|jpg|png|js)$ - [F]
RewriteRule .*? index.php
almair Отправлено: 24 Июля, 2009 - 11:25:26 • Тема: iconv - неправильно перекодирует • Форум: Программирование на PHP

Ответов: 1
Просмотров: 385
все разобрался, дело было в
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
почему-то если поставить true не правильно парсил некоторые символы
almair Отправлено: 23 Июля, 2009 - 15:08:01 • Тема: обмен данными между 2-мя php скриптами на разных хостингах • Форум: Программирование на PHP

Ответов: 4
Просмотров: 711
Всем спасибо, реализовал через cURL. Пробовал через ajax, но оказалось, что такой запрос нельзя делать между разными доменами.

http_request.open('GET', "http://site.ru/server.php?id="+id_block+"&hash=" + Math.random(), true);
almair Отправлено: 23 Июля, 2009 - 15:03:54 • Тема: iconv - неправильно перекодирует • Форум: Программирование на PHP

Ответов: 1
Просмотров: 385
Подскажите в чем проблема, при парсинге xml (импорт из 1с) столкнулся с неправильной перекодировкой некоторых символов из utf-8 в win-1251.

print iconv("UTF-8","cp1251", $name );

Банк перекодирует в БанЪ
Группа перекодирует в ГрсЯЯа
Ид в ИХ
и.п...

В чем может быть проблема и как ее решить?
Заранее спасибо.
(Добавление)
Извиняюсь , дело было не в iconv . Дело в парсере. Может быть кто то посоветует, нарыл в нете вот такой код

CODE (text):
скопировать код в буфер обмена
  1. $file = "import.xml";
  2.  
  3.  
  4. function startElement($parser, $name, $attrs)
  5. {
  6. print $name;
  7. }
  8.  
  9. function endElement($parser, $name)
  10. {
  11. print  $name;
  12. }
  13.  
  14. function characterData($parser, $data)
  15. {
  16. print $data;
  17. }
  18.  
  19. // Создаем парсер
  20. $xml_parser = xml_parser_create();
  21.  
  22. // Настраиваем его (не чувствителен к регистру)
  23. xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
  24. xml_parser_set_option($xml_parser, XML_OPTION_TARGET_ENCODING, "UTF-8");
  25.  
  26. // Указываем ф-ии обработки начального тега и конечного тега (см. выше)
  27. xml_set_element_handler($xml_parser, "startElement", "endElement");
  28.  
  29. // Ф-ия обработки данных внутри тега (см. выше)
  30. xml_set_character_data_handler($xml_parser, "characterData");
  31.  
  32. // Открываем файл
  33. if ( !($fp = fopen($file, "r")) )
  34. { die("could not open XML input"); }
  35.  
  36. // Читаем файл и парсингуем
  37. while ($data = fread($fp, 4096))
  38. {
  39.  
  40. f ( !xml_parse($xml_parser, $data, feof($fp)) )
  41.  
  42. {
  43. // Сообщение если возникла ошибка парсинга
  44. die(
  45. sprintf("XML error: %s at line %d",
  46. xml_error_string(xml_get_error_code($xml_parser)),
  47. xml_get_current_line_number($xml_parser))
  48. );
  49. }
  50. }
  51. // удаляем парсер, он сделал свое дело ;0)
  52. xml_parser_free($xml_parser);


Вообщем задача данные из xml загнать в mysql, к сожалению xml импортирована из 1с соответствено имеет русские теги.
almair Отправлено: 03 Июля, 2009 - 15:12:20 • Тема: обмен данными между 2-мя php скриптами на разных хостингах • Форум: Программирование на PHP

Ответов: 4
Просмотров: 711
Например есть сайт №1 , при заходе на него, php скрипт (1) должен отослать данные php скрипту(2) расположенному на сайте №2.(Разные хостинги) Php скрипт (2) обрабатывает данные, и возвращает обработанные данные php скрипту(1). Php скрипт (1) выводит данные зашедшему. Подскажите пожалуйста , как это грамотно реализовать?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB