PHP.SU

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

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

> Найдено сообщений: 131
razorg1991 Отправлено: 01 Сентября, 2014 - 09:02:14 • Тема: Не получается сменить кодировку через iconv • Форум: Вопросы новичков

Ответов: 3
Просмотров: 218
Мой проект работает на UTF-8, с помощью curl гружу со стороннего сайта некий контент
PHP:
скопировать код в буфер обмена
  1.  
  2. class SearchConnect {
  3.            
  4.        static function loadUrl($url) {
  5.             $ch = curl_init($url);
  6.             curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0");
  7.             $headers = array (
  8.                 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  9.                 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
  10.                 'Accept-Encoding: gzip, deflate',
  11.                 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
  12.             );
  13.             curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  14.             curl_setopt($ch, CURLOPT_REFERER, "https://www.google.com.ua/");
  15.             curl_setopt($ch, CURLOPT_COOKIEJAR, "tmp/cookies.txt");  
  16.             curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp/cookies.txt");
  17.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  18.             curl_setopt($ch, CURLOPT_ENCODING, "");
  19.             $result = curl_exec($ch);
  20.             curl_close($ch);
  21.             return $result;
  22.        }
  23.         }
  24.  


Далее вызываю
PHP:
скопировать код в буфер обмена
  1.  
  2. $dom = SearchConnect::loadUrl($url);
  3.                 $dom = iconv('UTF-8', 'windows-1251', $dom);
  4.                 var_dump($dom);
  5.                 echo $dom;
  6.  

Проблема в том, что на стороннем сайте кодировка windows-1251, соответственно вылезают кракозябры без использования iconv, но echo $dom ничего не выводит, если использовать iconv? var_dump показывает string(300) "
Не подскажите как исправить это?
razorg1991 Отправлено: 31 Августа, 2014 - 17:41:20 • Тема: Разделить строку на массив, где разделить html тег • Форум: Вопросы новичков

Ответов: 10
Просмотров: 872
Ну хозяин-барин, я просто терпеть не могу регулярки )))
Вообще если парсишь сайт, то рекомендую simple_html_dom
razorg1991 Отправлено: 31 Августа, 2014 - 17:39:38 • Тема: Закодировать кириллицу • Форум: Вопросы новичков

Ответов: 2
Просмотров: 595
urlencode() - не получается, он кодирует как в описание сайта "uncodeURI/decodeURI функция javascript. Используется для кодирования URL.
Кодирует специальные символы, за исключением , / ? : @ & = + $ # "

Все разобрался! СПС, надо просто указать правильную кодировку файла или воспользоваться iconv
razorg1991 Отправлено: 31 Августа, 2014 - 17:34:58 • Тема: Разделить строку на массив, где разделить html тег • Форум: Вопросы новичков

Ответов: 10
Просмотров: 872
seregali пишет:
Нет не забыл.


Возьми скопируй этот код в отдельный файл и запусти его в браузере, он выведет что надо.
Может ты не совсем все данные даешь?
razorg1991 Отправлено: 31 Августа, 2014 - 17:20:25 • Тема: Закодировать кириллицу • Форум: Вопросы новичков

Ответов: 2
Просмотров: 595
http://www[dot]design-sites[dot]ru/utili[dot][dot][dot]coding.php#koder - тут есть онлайн кодировщики.
Мне нужен тот который "URL кодирование из кодировки Windows 1251. Используется для параметров. Работает со специальными символами как encodeURIComponent/decodeURIComp onent. "

Есть ли в php такая функция? Мне нужно русский текст закодировать подобным образом
Смартфон - %F7%E5%F5%EE%EB

Да и вообще может ли php определить, что к примеру слово "Смартфон" - это кириллица?
razorg1991 Отправлено: 31 Августа, 2014 - 17:11:07 • Тема: Разделить строку на массив, где разделить html тег • Форум: Вопросы новичков

Ответов: 10
Просмотров: 872
seregali пишет:
Я тоже так думал, до того как не убедился в том, что это не работает.


Да? А у меня почему-то работает Радость
Ты про echo не забыл?

PHP:
скопировать код в буфер обмена
  1.  
  2. $string = '<p>Здесь написано краткое описание</p> <hr id="system-readmore"> <p>Здесь уже идет полное описание Здесь уже идет полное описание</p>';
  3. $data = explode('<hr id="system-readmore">', $string);
  4. $into = $data[0];
  5. $fulltext = $data[1];
  6. echo $into."<br />";
  7. echo $fulltext;
  8.  
razorg1991 Отправлено: 31 Августа, 2014 - 16:42:51 • Тема: Проблемы с SQLite3 • Форум: Вопросы новичков

Ответов: 2
Просмотров: 464
caballero пишет:
ну так укажи полный путь к ней раз не находит
откуда оно знает где твои папки находятся с БД


ИПОНСКИЙ ВЕЛОСИПЕД! СПАСИБО ЗАРАБОТАЛО! )))
razorg1991 Отправлено: 31 Августа, 2014 - 16:38:19 • Тема: Разделить строку на массив, где разделить html тег • Форум: Вопросы новичков

Ответов: 10
Просмотров: 872
seregali пишет:
Поэтому задача стоит разделить текст именно по <hr id="system-readmore">

А тю так тогда еще проще

PHP:
скопировать код в буфер обмена
  1.  
  2. $data = explode('<hr id="system-readmore">', $string);
  3. $into = $data[0];
  4. $fulltext = $data[1];
  5.  
razorg1991 Отправлено: 31 Августа, 2014 - 16:30:52 • Тема: Разделить строку на массив, где разделить html тег • Форум: Вопросы новичков

Ответов: 10
Просмотров: 872
PHP:
скопировать код в буфер обмена
  1.  
  2. $data = explode("<p>", $string);
  3. $into = "<p>".$data[0];
  4. $fulltext = "<p>".$data[1];
  5.  


Ну это так на скорую руку
razorg1991 Отправлено: 31 Августа, 2014 - 14:59:50 • Тема: Проблемы с SQLite3 • Форум: Вопросы новичков

Ответов: 2
Просмотров: 464
В сборке php (денвер) SQLite3 все включено. Почитал мануал, посмотрел примеры, кинулся делать базу и запросы:

PHP:
скопировать код в буфер обмена
  1.  
  2. $db = new SQlite3('tmp/tmp.db');
  3.     if (!$db) exit("Не удалось создать базу данных!");
  4.     $query_table = $db->exec("CREATE TABLE searchlist
  5.                                (id INTEGER PRIMARY KEY,
  6.                                 namelist TEXT,
  7.                                 list TEXT,
  8.                                 keywords TEXT);
  9.                                 ");
  10.     if (!$query_table) exit("Невозможно создать таблицу в базе данных!");
  11.     echo "Таблица создана успешно!";
  12.  


Но тут как говорится "болт на 32" Однако Выдает следующее:

Fatal error: Uncaught exception 'Exception' with message 'Unable to open database: unable to open database file' in W:\home\localhost\www\autocsv\tmp\tmp_search_list.php:2 Stack trace: #0 W:\home\localhost\www\autocsv\tmp\tmp_search_list.php(2): SQLite3->__construct('tmp/tmp.db') #1 {main} thrown in W:\home\localhost\www\autocsv\tmp\tmp_search_list.php on line 2

Честно даже не могу это корректно у дядьки гугла спросить )))
Не подскажите как корректно работать с SQLite3
MySql не предлагать, нужна именно SQLite3
razorg1991 Отправлено: 30 Августа, 2014 - 13:58:20 • Тема: Не переопределяется статический метод родительского класса • Форум: Вопросы новичков

Ответов: 3
Просмотров: 142
Всем спасибо static помогло! Радость
razorg1991 Отправлено: 30 Августа, 2014 - 13:44:28 • Тема: Не переопределяется статический метод родительского класса • Форум: Вопросы новичков

Ответов: 3
Просмотров: 142
Базовый класс

PHP:
скопировать код в буфер обмена
  1.  
  2. class BaseClass {
  3.            
  4.            static function loadHtml() {
  5.                echo '<!DOCTYPE html>
  6.                 <html lang="ru">';
  7.            }
  8.        
  9.        static function loadHead() {
  10.             require_once PATH_INCLUDES.'head.php';
  11.        }
  12.        
  13.        static function loadBody() {
  14.             echo '<body>
  15.                    <div id="wrapper">
  16.                        <!-- Navigation -->
  17.                            <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">';
  18.        }
  19.        
  20.        static function loadNavigation() {
  21.             require_once PATH_INCLUDES.'navigation.php';
  22.        }
  23.        
  24.        static function loadSidebar() {
  25.             require_once PATH_INCLUDES.'sidebar.php';
  26.        }
  27.        
  28.        static function loadPage() {
  29.             echo '</nav>
  30.                    <div id="page-wrapper">
  31.                        <div class="container-fluid">';
  32.        }
  33.        
  34.        static function display() {
  35.             //require_once PATH_INCLUDES.'page.php';
  36.        }
  37.        
  38.        static function loadEndPage() {
  39.                     echo '</div>
  40.                    <!-- /.container-fluid -->
  41.        
  42.                </div>
  43.                <!-- /#page-wrapper -->
  44.        
  45.            </div>
  46.            <!-- /#wrapper -->';
  47.        }
  48.        static function loadScripts() {
  49.             require_once PATH_INCLUDES.'scripts.php';
  50.        }
  51.        
  52.        static function loadEndBody() {
  53.             echo '</body>';
  54.        }
  55.        
  56.        static function loadEndHtml() {
  57.             echo '</html>';
  58.        }
  59.        
  60.        static function loadContent() {
  61.             self::loadHtml();
  62.             self::loadHead();
  63.             self::loadBody();
  64.             self::loadNavigation();
  65.             self::loadSidebar();
  66.             self::loadPage();
  67.             self::display();
  68.             self::loadEndPage();
  69.             self::loadScripts();
  70.             self::loadEndBody();
  71.             self::loadEndHtml();
  72.        }
  73.         }
  74.  


Соответственно класс потомок

PHP:
скопировать код в буфер обмена
  1.  
  2.         class SearchList extends BaseClass {
  3.         static function display() {
  4.             require_once PATH_PAGES.'searchlist.php';
  5.         }
  6.         }
  7.  


Ну и соответственно вызов

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     require_once 'settings/config.php';
  4.     require_once 'settings/Autoloader.php';
  5.     SearchList::loadContent();
  6. ?>
  7.  


Не переопределяет! Всегда вызывается родительский метод display(). Почему так?
PHP Version 5.3.13
razorg1991 Отправлено: 27 Августа, 2014 - 21:40:46 • Тема: Как проверить существование пользователя на ужаленном сервере? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 215
DelphinPRO пишет:
razorg1991 пишет:
Как возможно реализовать такое сообщение?

так и реализовывайте. на сервере сделайте нечто вроде api
например по запросу test.ru/api/user/12 - вам будет возвращаться ответ (например, в json формате) с данными пользователя с ID=12, либо сообщение об ошибке.


Типа json_encode и json_decode ?
Конечно вариант неплохой. Но тогда запрос типа test.ru/api/user/12 должен выполнять пользователь явно, я так понимаю? А как тогда сделать такую проверку неявно? Чтобы скрипт на localhost сам периодически выполнял данную проверку (ну естественно не крон, а к примеру во время исполнения логики приложения при юзаньи пользователем)?
razorg1991 Отправлено: 27 Августа, 2014 - 21:11:04 • Тема: Как проверить существование пользователя на ужаленном сервере? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 215
dcc0 пишет:
подразумевается ли, что есть доступ к базе данных на test.ru?
Если есть, то. просто коннект к удаленной базе и поиск соответ. записи в таблице.
Если, нет доступа, но где_то на сайте есть список пользователей, можно поиск с curl, например.


Удаленного коннекта к базе на test.ru НЕТ И БЫТЬ НЕ МОЖЕТ ПО СООБРАЖЕНИЯМ БЕЗОПАСТНОСТИ!
На сайте списка пользователей НЕТ И БЫТЬ НЕ МОЖЕТ ПО СООБРАЖЕНИЯМ БЕЗОПАСТНОСТИ!

Нужно сообщение двух скриптов.
razorg1991 Отправлено: 27 Августа, 2014 - 20:48:59 • Тема: Как проверить существование пользователя на ужаленном сервере? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 215
К примеру на сервере test.ru, есть база пользователей. С любого другого сервера, пусть даже с localhost идет запрос на test.ru на существование пользователя. Есть пользователь - выполняем действия, нету - выходим из программы.
Представляю себе это так:
На сайте или localhost есть userscript.php - отправляет запрос и принимает ответ, выполняет соответствующее действие
На test.ru есть к serverscript.php - принимает запрос с удаленного сервера, делает проверки, отправляет ответ.

Как возможно реализовать такое сообщение?

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB