PHP.SU

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

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

> Найдено сообщений: 28
Jmunb Отправлено: 30 Сентября, 2012 - 16:10:43 • Тема: Парсинг сайта почты России • Форум: Работа с сетью

Ответов: 5
Просмотров: 3854
В общем думою кому нибудь еще пригодится.
Я получаю страницу с информацией о посылке так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $BarCode=12548049043572;
  3.  
  4. $curl_s = curl_init();
  5. curl_setopt($curl_s, CURLOPT_URL, "http://www.russianpost.ru/rp/servise/ru/home/postuslug/trackingpo");
  6. curl_setopt($curl_s, CURLOPT_POST, 1);
  7. curl_setopt($curl_s, CURLOPT_POSTFIELDS, "OP=&PATHCUR=PORTAL%2FRU%2FHome%2FPostal%2FTrackingPO&PATHFROM=&WHEREONOK=&ASP=&PARENTID=&FORUMID=&NEWSID=&DFROM=&DTO=&CA=&CDAY=14&CMONTH=01&CYEAR=2010&NAVCURPAGE=&SEARCHTEXT=&searchAdd=&PATHWEB=PORTAL%2FRU%2FHome&PATHPAGE=PORTAL%2FRU%2FHOME%2FSEARCH&search1=&BarCode={$BarCode}&searchsign=1");
  8. curl_setopt($curl_s, CURLOPT_HEADER, 0);
  9. curl_setopt($curl_s, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt($curl_s, CURLOPT_COOKIEFILE, 'cookie.txt');
  11. curl_setopt($curl_s, CURLOPT_COOKIEJAR, 'cookie.txt');
  12. $page = curl_exec($curl_s);
  13. curl_close($curl_s);
  14.  

Пользуйтесь наздоровье
Jmunb Отправлено: 29 Сентября, 2012 - 22:20:48 • Тема: Парсинг сайта почты России • Форум: Работа с сетью

Ответов: 5
Просмотров: 3854
Уважаемый, не могли бы поделится настройками курла?
Добрался до страницы с формой. Заполняю данные отправляю потом через курл но в ответ вечно редирект.

С уважением.
Jmunb Отправлено: 27 Марта, 2012 - 15:08:42 • Тема: Карандашный набросок • Форум: Графика в PHP

Ответов: 3
Просмотров: 1553
DlTA пишет:
какие то хреновые наброски

гляньте в фотошопе специальные фильтры, а именно
Sketch->"Graphic Pen"

Так фотожоп то тут причем?
Я же не буду ставить его на сервер и вызывать через exec(который у меня на хостинге не работает). Интересует возможность генерации именно с помощью php + gd или php + imagick.
Возможны и другие приблуды для php но хотелось бы на базе оных.
Jmunb Отправлено: 27 Марта, 2012 - 13:14:44 • Тема: Карандашный набросок • Форум: Графика в PHP

Ответов: 3
Просмотров: 1553
Добрый день нужен скрипт преобразующий рисунок в карандашный набросок с помощью php GD или imagemagick.
Сейчас эксперементирую со второй.
Вот такие результаты работы:
http://rubart[dot]bget[dot]ru/img.php?id=1
http://rubart[dot]bget[dot]ru/img.php?id=2
http://rubart[dot]bget[dot]ru/img.php?id=3
http://rubart[dot]bget[dot]ru/img.php?id=4
http://rubart[dot]bget[dot]ru/img.php?id=5
http://rubart[dot]bget[dot]ru/img.php?id=6

Код следующий
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $id = $_GET['id'];
  3. header('Content-type: image/jpeg');
  4.  
  5. $image = new Imagick('1.jpg');
  6.  
  7. if($id == 1) {
  8.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY); //делаем картинку серой
  9.         $image->embossImage(0, 1 );     //эффект мятой бумаги
  10. }
  11.  
  12. if($id == 2) {
  13.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY); //делаем картинку серой
  14.         $image->negateImage(1);
  15.         $image->edgeImage(1);
  16.         $image->negateImage(1);
  17.         $image->blurImage(0, 0.5);
  18. }
  19.  
  20. if($id == 3) {
  21.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY); //делаем картинку серой
  22.         $image->negateImage(1);
  23.         $image->charcoalImage (0, 0);
  24.         $image->blurImage(0, .5);
  25. }
  26.  
  27. if($id == 4) {
  28.         $image->setBackgroundColor('white');
  29.         $image->flattenImages();
  30.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY);
  31.         $image->negateImage(1);
  32.         $image->edgeImage(1);
  33.         $image->negateImage(1);
  34.         $image->normalizeImage();
  35.         $image->blurImage(0, .5);
  36.         $image->linearStretchImage(0, .5);
  37. }
  38.  
  39. if($id == 5) {
  40.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY);
  41.         $image->negateImage(1);
  42.         $image->sketchImage(10,0,120);
  43.         $image->blurImage(0, .5);
  44.         $image->negateImage(1);
  45.         $image->sigmoidalContrastImage(0, 1, 0);
  46.         $image->gammaImage(2);
  47. }
  48.  
  49. if($id == 6) {
  50.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY);
  51.         $image->sketchImage(2,1,+135);
  52. }
  53.  
  54. echo $image;
  55.  


Может кто делал подобно?
И побочный вопрос как выполнять команды к imagemagick с помощью exec?
Jmunb Отправлено: 23 Января, 2012 - 07:24:32 • Тема: POST запрос средствами PHP • Форум: HTTP и PHP

Ответов: 2
Просмотров: 2605
Хоть сам и разобрался но все равно спасибо добрый человек.
Тему можно закрывать
Jmunb Отправлено: 21 Января, 2012 - 11:53:25 • Тема: POST запрос средствами PHP • Форум: HTTP и PHP

Ответов: 2
Просмотров: 2605
Добрый день есть такой код написанный на jQuery:
CODE (javascript):
скопировать код в буфер обмена
  1. $.ajax({type:'POST',url:'http://host.ru/getresult.php',data:request,dataType:'json',traditional:true,error:function(){
  2.                 /*тут обработка ответа*/
  3. });

data - массив с параметрами, при отправке выглядит так
CODE (text):
скопировать код в буфер обмена
  1. "locale=ru&cityId=345&countryId=166775&departureDateMin=21.01.2012&departureDateMax=28.01.2012&nightsMin=7&nightsMax=15&adults=2&children=0&priceMin=0&priceMax=15000&currency=5561&findByPrice=true&tourId=9009296&tourId=9009296%2C169028&hotelClassId=9006279&hotelClassId=9006280&hotelClassId=9006281&feedId=9006288&feedId=9006289&hotelInStop=false&noTicketsTo=false&noTicketsFrom=false&version=2"

сам заголовок вот так:
"Accept application/json, text/javascript, */*
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Content-Length 393
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Host ruban.pro
Referer http://ruban[dot]pro/turt/
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
X-Requested-With XMLHttpRequest"

надо переписать отправку на php пробовал 2-мя способаси.
1-й
PHP:
скопировать код в буфер обмена
  1.         }
  2.         'http' => array(
  3.             'method' => 'POST',
  4.             'header' => 'Accept application/json, text/javascript, */*' . PHP_EOL . 'Accept-Charset     windows-1251,utf-8;q=0.7,*;q=0.7' . PHP_EOL . 'Accept-Encoding  gzip, deflate' . PHP_EOL . 'Accept-Language     ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3' . PHP_EOL . 'Connection    keep-alive' . PHP_EOL . 'Content-Length 369' . PHP_EOL . 'Content-Type  application/x-www-form-urlencoded; charset=UTF-8' . PHP_EOL . 'Host     json.teztour.com' . PHP_EOL . 'Referer  http://json.teztour.com/static/ats/search_ru.html' . PHP_EOL . 'X-Requested-With        XMLHttpRequest' . PHP_EOL . 'Content-Type: text/javascript' . PHP_EOL,
  5.                         'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1' . PHP_EOL,
  6.             'content' => 'locale=ru&cityId=521&countryId=166775&departureDateMin=21.01.2012&departureDateMax=28.01.2012&nightsMin=7&nightsMax=15&adults=2&children=0&priceMin=0&priceMax=15000&currency=5561&findByPrice=true&tourId=9009296&hotelClassId=9006279&hotelClassId=9006280&hotelClassId=9006281&feedId=9006288&feedId=9006289&hotelInStop=false&noTicketsTo=false&noTicketsFrom=false&version=2',
  7.         ),
  8.     ));
  9.         echo file_get_contents('http://json.teztour.com/agencytoursearch/getResult', $use_include_path = false,$context);


2-й
PHP:
скопировать код в буфер обмена
  1. $query = '';
  2.         foreach($_POST as $key => $value) {
  3.                 $query .= $key.'='.$value.'&';
  4.         }      
  5.         echo $query;
  6.         $ch = curl_init();
  7.         //curl_setopt($ch, CURLOPT_PROXY, "1.2.3.4:123"); //если нужен прокси
  8.         curl_setopt($ch, CURLOPT_POST, 1);
  9.         curl_setopt($ch, CURLOPT_URL, "http://json.teztour.com/agencytoursearch/getResult"); //куда шлем
  10.         curl_setopt($ch, CURLOPT_POSTFIELDS, $query); //что шлем
  11.         curl_setopt($ch, CURLOPT_REFERER, "http://ruban.pro/turt/");
  12.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)");
  13.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  14.         curl_setopt($ch, CURLOPT_HEADER, 1);
  15.         curl_setopt($ch, CURLOPT_NOBODY, 0);
  16.         $result=curl_exec ($ch);
  17.         curl_close ($ch);
  18.  
  19.         echo $result;


что не так делаю?
(Добавление)
С курлом разобрался, теперь другой вопрос сервер отправляет строку post запроса такого вида:
locale=ru&
cityId=345&
countryId=166775&
departureDateMin=21.01.2012&
departureDateMax=28.01.2012&
nightsMin=7&
nightsMax=15&
adults=2&
children=0&
priceMin=0&
priceMax=15000&
currency=5561&
findByPrice=true&
tourId=9009296&hotelClassId=9006279&
hotelClassId=9006280&
hotelClassId=9006281&
feedId=9006288&
feedId=9006289&
hotelInStop=false&
noTicketsTo=false&
noTicketsFrom=false&
version=2

как можно заметить в строке запроса параметры за названием feedId, hotelClassId присутствуют не однократно
как мне в моем скрипте получить не массив пост а исходную строку post запроса?
Jmunb Отправлено: 24 Ноября, 2011 - 22:58:04 • Тема: Проэктирование телефонного справочника. • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3393
В общем начал с класса работы с бд
Использую класс PDO, реализую как Singleton.

Вот код
PHP:
скопировать код в буфер обмена
  1. [SRC PHP]class MysqlPDO
  2. {
  3.         private $PDOInstance = null;    //Экземпляр класса PDO
  4.         private static $instance = null;        //Экземпляр класса MysqlPDO
  5.        
  6.         const DEFAULT_SQL_USER = 'root';        //Постоянное имя пользователя
  7.         const DEFAULT_SQL_HOST = 'localhost';   //Постоянный адрес хоста
  8.         const DEFAULT_SQL_PASS = '';    //Постоянный пароль пользователя
  9.         const DEFAULT_SQL_DTB = 'b2b';  //Постоянное название базы данных
  10.         const DEFAULT_SQL_CHARSET = 'utf8';     //Кодировка
  11.  
  12.         /**
  13.         * Конструктор
  14.         */
  15.         private function __construct() {
  16.                 $this->PDOInstance = new PDO('mysql:dbname='.self::DEFAULT_SQL_DTB.';host='.self::DEFAULT_SQL_HOST, self::DEFAULT_SQL_USER ,self::DEFAULT_SQL_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES '.self::DEFAULT_SQL_CHARSET));
  17.         }
  18.        
  19.         /*
  20.         *Защищаем от клонирование
  21.         */
  22.         final private function __clone() {}
  23.        
  24.         /*
  25.         *Защищаем от создания через unserialize
  26.         */
  27.         final private function __wakeup() {}
  28.        
  29.         /**
  30.         * Создает и возвращает объект класса MysqlPDO
  31.         */
  32.         final public static function getInstance() {
  33.                 if(is_null(self::$instance)) {
  34.                         self::$instance = new MysqlPDO();
  35.                 }
  36.                 return self::$instance;
  37.         }
  38.  
  39.         /**
  40.         * Выполняем SQL запрос в PDO
  41.         */
  42.         public function query($query) {
  43.                 return $this->PDOInstance->query($query);
  44.         }
  45.        
  46.         // Выполняет запросы к БД
  47.         public function prepare($statement, $driver_options = array()) {
  48.                 return $this->PDOInstance->prepare($statement, $driver_options);
  49.         }
  50.        
  51.         /*
  52.         *Деструктор
  53.         */
  54.         public function __destruct() {
  55.                 unset($this->PDOInstance);
  56.         }
  57. }[/SRC]

С PDO работаю недавно так что не все еще понятно. Например как лучше обрабатывать ошибки? Как лучше выполнять запросы? И вообще какие функции нужно еще реализовать в данном классе в рамках ТЕЛЕФОННОГО СПРАВОЧНИКА?
(Добавление)
ах да ну и пример использования
PHP:
скопировать код в буфер обмена
  1.  
  2. require_once("classes/mysqlPDO.class.php");
  3.        
  4. foreach (MysqlPDO::getInstance()->query('SELECT user_id, ip , uri , time FROM `log`') as $membre) {
  5.         echo '<pre>', print_r($membre) ,'</pre>';
  6. }
Jmunb Отправлено: 23 Ноября, 2011 - 21:01:41 • Тема: BlowFish режиме OFB • Форум: Объектно-ориентированное программирование

Ответов: 0
Просмотров: 877
Доброго времени суток.
Вопрос больше по алгоритмам не знал куда написать поэтому пишу сюда.
Требуется реализовать алгоритм шифрования BlowFish - в этом проблем нет благо он открытый и есть куча исходников которые на php переписать дело не сложное.
Но мне требуется реализовать BlouFish в режиме OFB - обратная связь по выходу.
Ни нашел никакой информации о этом режиме. Помогите знающие люди!!!
Ну если есть исходниrи то вообще супер, а если на php...
Jmunb Отправлено: 22 Ноября, 2011 - 15:09:40 • Тема: Проэктирование телефонного справочника. • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3393
Мелкий пишет:
tuareg, у меня вполне стойкое ощущение, что это никакой не заказ, а тестовая задача перед приглашением на собеседование.
А судя по прошлой теме и разнице в датах - не взяли.

Я бы от соискателя хотел видеть полноценную реализацию MVC, фабрики или синглтона для базы. Достаточно. Но плодить классы ради классов - не нужно.


Какой из паттернов по вашему мнению в данной ситуации более подходящий для данной задачи?
Jmunb Отправлено: 22 Ноября, 2011 - 14:57:06 • Тема: Проэктирование телефонного справочника. • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3393
Вы плохо знаете наших волков
Класс БД само сабой разумеется он даже в тз не пишется.
а 1-го класса номер маловато будет

Такое чувство что все спят дома
Jmunb Отправлено: 22 Ноября, 2011 - 14:10:56 • Тема: Проэктирование телефонного справочника. • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3393
tuareg пишет:
А Вам ООП надо потому, что это условие ТЗ? Радость

Собственно ДА. Так как я считаю что в такой задаче использование ооп это все равно что из пушки по воробьям
Jmunb Отправлено: 22 Ноября, 2011 - 13:33:40 • Тема: Проэктирование телефонного справочника. • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3393
Быть может было бы верным реализовать какой либо патерн в рамках данного задания?
Jmunb Отправлено: 22 Ноября, 2011 - 11:04:01 • Тема: Проэктирование телефонного справочника. • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3393
Требуется выполнить данное задание:

Нужно написать на PHP с использованием ООП веб-приложение для работы с телефонными номерами, состоящими из кода страны, кода города, номера телефона и комментария. Номера нужно хранить в таблице MySQL, веб-интерфейс - список (постраничная разбивка и сортировка по названиям колонок не нужны) со ссылками для изменения и удаления каждой записи, сверху - окно поиска (ищем всё что ввели сразу по всем полям) и ссылка для добавления номера. По нажатию на ссылки добавления и изменения открывается форма для редактирования всех полей номера, сохранение формы возвращает обратно к списку, если нет ошибок, с сообщением, что всё успешно сохранено, если есть ошибки - открывается форма, заполненная введёнными данными с информацией об ошибках (либо возле каждого поля, либо общим списком ошибок сверху). Проверки формы должны быть на PHP, использовать JavaScript для этого не нужно. После нажатия на кнопку поиска, а также без поискового запроса, нужно
писать, сколько номеров найдено. Искать - просто подстроку по всем полям таблицы с телефонами.

Предполагается следующий набор классов: номер телефона, список номеров, форма редактирования номера, контроллер веб-приложения. Пояснение по классу номера телефона: там должны быть реализованы методы получения данных из БД (загрузка из БД в свойства класса), доступа к данным (геттеры), записи данных в объект класса (сеттеры), сохранения данных в БД. Использование библиотек и фреймворков нежелательно.

Хотелось бы получить несколько советов. Какова должна быть структура классов(если считаете что эта не подходит к данной задаче) и каким набор свойств и методов должны обладать классы приложения?

Очень нужна помощь именно в проектировании, думал над структурой приложения и зашел в тупик=( Изначально предполагал сделать класс номера и два дочерних первый - список номеров, второй - форма редактирования. Которые будут наследовать от родительского класса свойства номера. Но при таком подходе класс список номеров будет вытаскивать все номера из бд по 1-й записи что не есть хорошо а если делать свое метод получения списка из бд то теряется смысл наследования. То же самое с формо редактирования если делать свои классы изменения и удоления но ведь вставка и селект уже реалезованы в родительском классе есть ли смысл отделять эти методы.

Спасибо за внимание жду ваших советов!
Jmunb Отправлено: 11 Ноября, 2011 - 11:14:19 • Тема: Телефонный справочник • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 9830
Мелкий пишет:
Как вы будете делать редирект пользователя? Да хоть куки выставить? Заголовки уже отправлены.

Можно поподробнее не совсем понятно.
Мелкий пишет:
HTML-код в коде.

Эту проблему планирую решить добавлением шаблонов.
Мелкий пишет:
XSS пропущены. SQL-инъекции тоже. А вот это очень плохо и самый большой минус.

Защита от XSS и SQL инъекций по ка что не бролась во внимание. Так как этой работой мне надо показать свой уровень знания ООП. (я знаю что он не высок но хотелось бы выглядить попристойнее). Что можете в этом направлении подсказать
(Добавление)
Toxa пишет:
Раз уж ты используешь контроллер, то должна быть и модель и вид, иначе не понятна логика. А в целом ты верно мыслишь

Ну в качестве вида я использую класс View который отображает данные. Класс Number как model. Поясните если не прав.
(Добавление)
Toxa пишет:
Раз уж ты используешь контроллер, то должна быть и модель и вид, иначе не понятна логика. А в целом ты верно мыслишь

В качетсве вида я использую класс View который отображает информацию. В качестве модели класс Number который работает с данными. Если я чтото не так понял поясните пожалуйста.
(Добавление)
Toxa пишет:
Раз уж ты используешь контроллер, то должна быть и модель и вид, иначе не понятна логика. А в целом ты верно мыслишь

В качетсве вида я использую класс View который отображает информацию. В качестве модели класс Number который работает с данными. Если я чтото не так понял поясните пожалуйста
Jmunb Отправлено: 11 Ноября, 2011 - 10:33:29 • Тема: Телефонный справочник • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 9830
валера пишет:
меня пугает тот факт, что любой может отредактировать/добавить/удалить запись... или так было задумано?
Да так было задумано. Механизм авторизации будет прикручен позже. Сейчас волнуют вопросы ООП

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB