CoDy
User-
Posts
381 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Calendar
Store
Everything posted by CoDy
-
Как вариант можно использовать 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
-
Никогда не работал с функцией exec(). Да и я думал что такие вещи на хостеры не разрешают делать. Попробую, спасибо.
-
Всем привет!!! Делаю на сайте точку входа для загрузки данных от других хостов. Причем объем данных может быть оч. большой и соответственно на их обработку может уйти много времени(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(); ?>
-
Поясните плиз для безграмотных, что имеется ввиду под терминами: Windows-way и Unix-way??
-
Решил попробовать разобраться с Zend Framework. Нашел статью в которой описывается создание элементарного приложения с использованием ZF. Приложение умеет показывать содержимое таблици, дабавлять записи, удалять и редактировать. Но каково было мое удивление когда я открыл диспечер задач и увидел что при обращении к странице система нагружается до 80%. Если есть ктоньть, кто использовал ZF, подскажите плиз дествительно ли он такой тормознутый, или просто нужно больше времени посветить его изучению?
-
Очень жаль. Если я не ошибоюсь, в MS SQL база данных может быть указана как "указатель" на ODBC источник. Спасибо за ответ.
-
Доброго времени суток. Проконсультируйте плиз по следующему вопросу: есть 1С база данных в дбф файлах, рядом с ней на компе стоит MySql; можно ли как-нибудь из MySql хранимой процедуры или тригере какогонибуть подключиться к дбф базе, сделать выборку и сохранить ее таблицу??? Из под php я обращаюсь к дбф базе через настроенный на машине odbc драйвер. Может как то можно обратиться из MySql к дбф базе через этот odbc драйвер???????
-
А почему бы не взять нечто среднее между субд и файлами. Например, данные будут храниться в файлах дбф, а для работы с ними использовать библиотеку(dBase, например, для php). При использовании файлового хранилища, в php можно столкнуться с такой проблемеой как, safe_mod. В этом случае, насколько я знаю, запрещенны практически все обращения к файловой системе. Как мне кажется, тип используемого хранилища выбирается в зависимости от сложности проекта. Если, например, гостевую книги запросто можно реализовать в файлах. То проект, где должно присутствовать более 1 таблици, да и еще между ними имеются связи, реализовывать в файлах, как мимнимум это будет неэфективно.
-
Например на сайте надписи в главном меню сделаны фоновыми изображениями. В этом случае для пользователей все хорошо - отн клацает по картинкам и попадает куда нада. Но поисковые роботы читать картинки не умеют. Поэтому при оптимизации контента для поисковых роботов применябт такой трюк(пользователь видит картинки, роботы текстовые надписи, скрытые от пользователя).
-
Пропишите css правила непосредственно в html коде и переопределите нужные стили. Встоенные в html css правила имеют больший приоритет. Или определите для таблици id и указывйте его в css селекторах: html <table id="table"> .... </table> css #table tr { ........ }
-
По верстке: Создание 3-х колоночного шаблона для Вордпресс Квентор И. 2008 цикл статей "Основы работы с XHTML и CSS" Д.Р. Адамс К.С. Флойд на портале intuit.ru можно почитать "Дизайн по стандартам" Зельдман Cascading Style Sheets. The Definitive Guide. Third Edition E.A. Meyer именно в таком порядке я осваивал данные материалы
-
Всем привет. Хотелось бы услышать мнение касательно верстки табличных данных. Есть ли смысл в следующей верстке табличных данных(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>
-
У меня в опере тоже едет. Можно попробовать прописать в стилях * { margin: 0; padding: 0; border: 0; } А лудше переверстать блоками и обязательно указать док тайп.
-
Задать нада ширину контейнера списка <!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>
-
Глянь сюда может как то поможет http://designformasters.info/posts/flash-e...th-swfobject-2/
-
Согласен. Только с одной поправкой: "Нормальному" человеку. Представьте ситуацию: на сайте висит опросник; в большинстве случаев отключив куки и потратив некоторое время на изучение особенностей реализации данного опроса он может быть легко накручен или вообще поломан. Обсуждаемая тут тема, как мне кажется, больше относится к безопасности создаваемого кода.
-
А я и не путаю. Сессия - файл с данным, который хранится на сервере. Сколько поситителей Вашего сайта , столько и таких файлов. Сопоставления пользователя и файла, в котором храниться его сессионные данные, осуществляется посредством установки кука с именем PHPSESSID(по defoult настройкам), при вызове функции session_start(). Если сеанс связи с сайтом будет происходить через браузер в котором отключены куки то о таком механизме как сессии нужно забыть: нет кука - нет возможности определить файл с данными сессии для данного сеанса
-
С подобной ситуацие столкнулся когда писал опросник. Если использовать сесии для решения данной проблемы, следует учесть что пользователь может отключить куки. Поэтому вариант с сесиями, на мой взгляд, не решит всех проблем.
-
Тут можно статическую верстку проверить browsershots.org
-
Прикольно, не часто встречал валидный XHTML Strict 1.0.
-
Появление ненужных отступов в списках может быть связано с их оформлением. Если список прописан следующим образом: <ul> <li>текст</li> <li>текст</li> <li>текст</li> </ul> то могут появляться вышеупомянутые отступы. Это можно исправить оформив список следующим образом <ul><li>текст</li><li>текст</li><li>текст</li></ul> тоесть полностью исключить пробельные символы и переносы строк за пределами тегов
-
А почему бы не использовать AJAX? Помоему, для такого рода задач он подходит идеально, правда немного сложновато.
-
Если я не ошибаюсь это 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]
-
поставь диву overflov: hidden;