Jump to content

CoDy

User
  • Posts

    381
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by CoDy

  1. CoDy

    Локализация CMS

    Как вариант можно использовать ini-файлы: [general] var=value array[]=value array[]=value [module] var=value array[]=value array[]=value При таком подходе можно загружать не весь файл а отдельные его секции. Можно поступить как в Joomla - там все разложено по отдельным файлам, каждый файл отвечает за локализацию конкретного модуля: en-GB.com_banners.ini: BNR_CLIENT_NAME=You must select a name for the Client. BNR_CONTACT=You must select a Contact for the Client. BNR_VALID_EMAIL=You must select a valid e-mail for the Client. BNR_CLIENT=You must select a Client, BNR_NAME=You must select a name for the Banner. BNR_IMAGE=You must select an image for the Banner. BNR_URL=You must select a URL/Custom Banner code for the Banner. en-GB.mod_poll.ini: DESCPOLL=This Module complements the Polls Component. It is used to display the configured Polls. You can select a specific Poll to display in the Poll Module. MOD_POLL=[i]mod_poll[/i] POLL=Poll VOTE=Vote PARAMMODULEPOLL=The Poll to display SELECT POLL=Select Poll А при таком подходе не снизится ли быстродействие скрипта из-за необходимости парсить xml документ? Да и интересно, нормально ли php работает с xml документами в плане быстродействия(никогда ранее не сталкивался с данным вопросом)? Поделитесь плиз если у кого есть опыт работы с xml в php
  2. Никогда не работал с функцией exec(). Да и я думал что такие вещи на хостеры не разрешают делать. Попробую, спасибо.
  3. Всем привет!!! Делаю на сайте точку входа для загрузки данных от других хостов. Причем объем данных может быть оч. большой и соответственно на их обработку может уйти много времени(5-10 сек и более). Хочу сделать, чтобы отправитель данных не дожидался их полной обработки, а отпадал сразу после того, как я сохраню переданные им данные в временном файле. А перед выходом из скрипта запустить обработку сохраненных данных. Погуглил на тему многопоточность в php, получилось запустить скрипт через сокет, а через курл не катит. Мож кто подскажет, можно ли асинхронно запустить скрипт через курл?? Набросок класа: BackThread.php <?php /** */ class BackThread { /** */ protected $_adapter = ''; /** */ protected $_host = ''; /** */ protected $_script = ''; /** */ protected $_obj = array(); /** */ public function __construct( $adapter = 'socket', $host = '', $script = '' ) { $this->_adapter = strtolower($adapter); $this->_host = $host; $this->_script = $script; } /** */ public function __destruct() { foreach ( $this->_obj as $obj ) { unset($obj); } } /** */ public function startThread() { $adapterMethod = $this->_adapter .'Thread'; return $this->$adapterMethod(); } /** * Фоновый запуск скрипта через неблокируемый сокет. */ protected function socketThread() { $fp = fsockopen($this->_host, 80, $errno, $errstr, 30); stream_set_blocking($fp, 0); $out = "GET {$this->_script} HTTP/1.1\r\n"; $out .= "Host: {$this->_host} \r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); fclose($fp); $this->_obj['socket'] = $fp; return $this; } /** * Фоновый запуск скрипта через мульти курл.(не работает) */ protected function curlThread() { $mch = curl_multi_init(); $ch = curl_init($this->_host . $this->_script); curl_multi_add_handle($mch ,$ch); curl_setopt_array($ch, array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false )); $active = null; curl_multi_exec($mch, $active); $this->_obj['ch'] = $ch; $this->_obj['mch'] = $mch; return $this; } } Точка входа data_in.php <?php error_reporting(-1); ini_set('display_errors', true); // Путь к скриптам на сайте. $host = $_SERVER['HTTP_HOST']; $script = '/test/data_processing.php'; // Получаем данные и кидаем их в временное хранилище. // ..... include_once dirname(__FILE__) .'/BackThread.php'; $thread = new BackThread('socket', $host, $script); // Замер времени работы. $socketDelay = microtime(true); // Запуск скрипта в фоновом режиме. $thread->startThread(); // Замер времени работы. echo 'time delay: ', microtime(true) - $socketDelay; // Закрываем текущий скрипт, а фоновый всеравно отработает. exit(); Скрипт для тестирования data_processing.php <?php error_reporting(-1); ini_set('display_errors', true); $fp = fopen('test.txt', 'a'); fwrite($fp, "——————--\r\n"); fwrite($fp, time() .": file open;\r\n"); sleep(5); fwrite($fp, time() .": file write;\r\n"); fwrite($fp, time() .": file close;\r\n"); fclose($fp); exit(); ?>
  4. Поясните плиз для безграмотных, что имеется ввиду под терминами: Windows-way и Unix-way??
  5. Решил попробовать разобраться с Zend Framework. Нашел статью в которой описывается создание элементарного приложения с использованием ZF. Приложение умеет показывать содержимое таблици, дабавлять записи, удалять и редактировать. Но каково было мое удивление когда я открыл диспечер задач и увидел что при обращении к странице система нагружается до 80%. Если есть ктоньть, кто использовал ZF, подскажите плиз дествительно ли он такой тормознутый, или просто нужно больше времени посветить его изучению?
  6. CoDy

    MySql и DBF

    Очень жаль. Если я не ошибоюсь, в MS SQL база данных может быть указана как "указатель" на ODBC источник. Спасибо за ответ.
  7. CoDy

    MySql и DBF

    Доброго времени суток. Проконсультируйте плиз по следующему вопросу: есть 1С база данных в дбф файлах, рядом с ней на компе стоит MySql; можно ли как-нибудь из MySql хранимой процедуры или тригере какогонибуть подключиться к дбф базе, сделать выборку и сохранить ее таблицу??? Из под php я обращаюсь к дбф базе через настроенный на машине odbc драйвер. Может как то можно обратиться из MySql к дбф базе через этот odbc драйвер???????
  8. А почему бы не взять нечто среднее между субд и файлами. Например, данные будут храниться в файлах дбф, а для работы с ними использовать библиотеку(dBase, например, для php). При использовании файлового хранилища, в php можно столкнуться с такой проблемеой как, safe_mod. В этом случае, насколько я знаю, запрещенны практически все обращения к файловой системе. Как мне кажется, тип используемого хранилища выбирается в зависимости от сложности проекта. Если, например, гостевую книги запросто можно реализовать в файлах. То проект, где должно присутствовать более 1 таблици, да и еще между ними имеются связи, реализовывать в файлах, как мимнимум это будет неэфективно.
  9. CoDy

    text-indent

    Например на сайте надписи в главном меню сделаны фоновыми изображениями. В этом случае для пользователей все хорошо - отн клацает по картинкам и попадает куда нада. Но поисковые роботы читать картинки не умеют. Поэтому при оптимизации контента для поисковых роботов применябт такой трюк(пользователь видит картинки, роботы текстовые надписи, скрытые от пользователя).
  10. Пропишите css правила непосредственно в html коде и переопределите нужные стили. Встоенные в html css правила имеют больший приоритет. Или определите для таблици id и указывйте его в css селекторах: html <table id="table"> .... </table> css #table tr { ........ }
  11. По верстке: Создание 3-х колоночного шаблона для Вордпресс Квентор И. 2008 цикл статей "Основы работы с XHTML и CSS" Д.Р. Адамс К.С. Флойд на портале intuit.ru можно почитать "Дизайн по стандартам" Зельдман Cascading Style Sheets. The Definitive Guide. Third Edition E.A. Meyer именно в таком порядке я осваивал данные материалы
  12. Всем привет. Хотелось бы услышать мнение касательно верстки табличных данных. Есть ли смысл в следующей верстке табличных данных(css код не привожу поскольку он довольно "запутанный") <!-- строка --> <div class="GridRow"> <!-- левый статический блок --> <span class="GridLeftStaticBloc"> <span class="gDate">26.12.1985</span> <span class="gQuantity">150</span> </span> <!-- блок занимающий все оставшееся пространство --> <span class="GridResizableBloc"> <span class="gTitle">Titl Number Number e Title</span> <span class="gNumber">Number Number Number</span> <span class="gProducer">P ro du ceNumber Number r ceNumber Numberr</span> </span> <!-- правый статический блок --> <span class="GridRightStaticBloc"> <span class="gDate">26.12.1985</span> <span class="gMoney">2500.00</span> </span> </div> <div class="GridRow"> ...... <div> К плюсам такой верстки я бы отнес большую гибкость в оформлении. К минусам: на порядок больший объем кода и довольно сложные css правила. Или все же табличные данные должны верстаться при помощи таблиц? <table> <tr> <td class="gDate">26.12.1985</td> <td class="gQuantity">150</td> <td class="gTitle">Titl Number Number e Title</td> <td class="gNumber">Number Number Number</td> <td class="gProducer">P ro du ceNumber Number r ceNumber Numberr</td> <td class="gDate">26.12.1985</td> <td class="gMoney">2500.00</td> </tr> </table>
  13. У меня в опере тоже едет. Можно попробовать прописать в стилях * { margin: 0; padding: 0; border: 0; } А лудше переверстать блоками и обязательно указать док тайп.
  14. Задать нада ширину контейнера списка <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <style type="text/css"> * { margin: 0; padding: 0; border: 1px solid #000; } ol { width: 300px; margin: 100px; } ol li { text-align: left; } ol li span { display: block; float: right; } </style> </head> <body> <ol> <li><a href="#">Иванов</a><span>123</span></li> <li><a href="#">Петров</a><span>56</span></li> <li><a href="#">Сидоров</a><span>67</span></li> </ol> </body> </html>
  15. Глянь сюда может как то поможет http://designformasters.info/posts/flash-e...th-swfobject-2/
  16. Согласен. Только с одной поправкой: "Нормальному" человеку. Представьте ситуацию: на сайте висит опросник; в большинстве случаев отключив куки и потратив некоторое время на изучение особенностей реализации данного опроса он может быть легко накручен или вообще поломан. Обсуждаемая тут тема, как мне кажется, больше относится к безопасности создаваемого кода.
  17. А я и не путаю. Сессия - файл с данным, который хранится на сервере. Сколько поситителей Вашего сайта , столько и таких файлов. Сопоставления пользователя и файла, в котором храниться его сессионные данные, осуществляется посредством установки кука с именем PHPSESSID(по defoult настройкам), при вызове функции session_start(). Если сеанс связи с сайтом будет происходить через браузер в котором отключены куки то о таком механизме как сессии нужно забыть: нет кука - нет возможности определить файл с данными сессии для данного сеанса
  18. С подобной ситуацие столкнулся когда писал опросник. Если использовать сесии для решения данной проблемы, следует учесть что пользователь может отключить куки. Поэтому вариант с сесиями, на мой взгляд, не решит всех проблем.
  19. CoDy

    Имитатор IE6

    Тут можно статическую верстку проверить browsershots.org
  20. CoDy

    ПРАКТИКА CSS

    Прикольно, не часто встречал валидный XHTML Strict 1.0.
  21. Появление ненужных отступов в списках может быть связано с их оформлением. Если список прописан следующим образом: <ul> <li>текст</li> <li>текст</li> <li>текст</li> </ul> то могут появляться вышеупомянутые отступы. Это можно исправить оформив список следующим образом <ul><li>текст</li><li>текст</li><li>текст</li></ul> тоесть полностью исключить пробельные символы и переносы строк за пределами тегов
  22. А почему бы не использовать AJAX? Помоему, для такого рода задач он подходит идеально, правда немного сложновато.
  23. Если я не ошибаюсь это http авторизация. Вариантов ее реализации несколько: - через php; - средствами сервера apach или iis используя модуль mod_auth(логины и пароли хранятся в текстовом файле) - средствами сервера apach или iis используя модуль mod_auth_mysql(логины и пароли хранятся mysql базе) Я не спец по механизму HTTP авторизации, но насколько я знаю логин и пароль при таком методе передаются в заголовках каждого http пакета и процедура авторизации проходит каждый раз при получении запроса. Как мне кажется постоянное присутствие логина и пароля в заголовках пакета не сильно безопасно(хотя в пинципе эти данные там в зашифрованном виде). Да и прохождение процедуры авторизации каждый раз при получении http пакета, будет подгружать сервер. В общих чертах то этой теме можно почитать в этой книге [ru]PHP and MySQL Web Development. 2 edition[L.Welling L.Thomson 2003]
  24. поставь диву overflov: hidden;
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy