Всем привет .
Если вы зашли прочитать эту статью, то наверняка задавались этим вопросом, либо вы просто хотите узнать что-то новое .
Поставим задачу: Написать функцию, которая будет отдавать файл частями и возможностью докачки файлов, в случае разрыва соединения.
Для решения задачи есть два способа решения: первый только отдает файл, соответственно она не является хорошим решением, но мы тоже его рассмотрим.
Начнем с простого способа. Пусть наш скрипт получает имя файла через какой-либо из параметров запроса. Это может быть реально набранный URL, а может быть и переписанный сервером при помощи mod_rewrite. Скрипт вызывает функцию file_download () с параметром...
Автор: iceman12 (19.08.2010 / 14:47)
Просмотры: 3108
Комментарии (14)
»
PHP (Статей: 62)
Добрый день
Задача: создать архив в PHP и упаковать в него файл.
Когда мне нужно было написать скрипт- архиватор, первым делом я открыл мануал по классу Pclzip, но он очень тяжел для сервера, при большой посещаемости, и этот вариант отпал.
Потом достаточно долго кавырял мануалы, статьи, пока не увидел один очень хороший класс для работы с архивами.
Итак, ближе к делу.
Качаем класс: CreateZipFile.txt http://maxmessage.ru/r/1038
Как же его применять?
Просмотры: 1086
Комментарии (5) »
Задача: создать архив в PHP и упаковать в него файл.
Когда мне нужно было написать скрипт- архиватор, первым делом я открыл мануал по классу Pclzip, но он очень тяжел для сервера, при большой посещаемости, и этот вариант отпал.
Потом достаточно долго кавырял мануалы, статьи, пока не увидел один очень хороший класс для работы с архивами.
Итак, ближе к делу.
Качаем класс: CreateZipFile.txt http://maxmessage.ru/r/1038
Как же его применять?
<?php /** * @date 15.7 * @author iceman12 * @copyright 2010 */ $file = 'my_file.doc'; // наш файл. Если использовать при Upload-e,то применять можно переменную $_FILES['file']['tmp_name'] $archive = new CreateZipFile;...Автор: iceman12 (17.08.2010 / 01:16)
Просмотры: 1086
Комментарии (5) »
Доброго времени суток!!! Не помню откудова я брал эту статейку... думаю "хидерам" пригодится)
Все программные продукты для защиты PHP-скриптов подразделяются на две категории: требующие установки на сервер дополнительных модулей и работающие с обычной конфигурацией web-серверов. Первые более надежны в плане безопасности, так как переводят PHP-скрипты из текстового вида в специальный байт-код, но требуют доступа к серверу с правами администратора. Вторые могут работать практически на всех хостингах с поддержкой PHP, в том числе и бесплатных, но не представляют большой сложности для взлома. В отдельную подгруппу можно выделить обфускаторы исходного кода, не использующие шифрование или сжатие.
Защиты на уровне сервера:
Zend Encoder... Автор: Максим (15.08.2010 / 22:03)
Просмотры: 3199
Комментарии (5) »
Все программные продукты для защиты PHP-скриптов подразделяются на две категории: требующие установки на сервер дополнительных модулей и работающие с обычной конфигурацией web-серверов. Первые более надежны в плане безопасности, так как переводят PHP-скрипты из текстового вида в специальный байт-код, но требуют доступа к серверу с правами администратора. Вторые могут работать практически на всех хостингах с поддержкой PHP, в том числе и бесплатных, но не представляют большой сложности для взлома. В отдельную подгруппу можно выделить обфускаторы исходного кода, не использующие шифрование или сжатие.
Защиты на уровне сервера:
Zend Encoder... Автор: Максим (15.08.2010 / 22:03)
Просмотры: 3199
Комментарии (5) »
Странно, что в русскоязычном интернете так мало внимания уделяется оптимизации быстродействия пхп-скриптов… Может быть, те кому важно быстродействие, вообще не пишут на пхп? Шутка Пожалуй, буду исправлять ситуацию… и начну с публикации этой небольшой подборки советов. Перечисленные в ней факты следует знать каждому пхп-программисту, который собирается писать скрипты хоть немного сложнее чем форма обратной связи на сайте
По возможности объявляйте методы как статические. Они вызываются в 4 раза быстрее.
echo быстрее чем print
Быстрее вызвать echo с несколькими аргументами – строковыми переменными – чем сначала склеивать их в одну.
Устанавливайте максимальное значение для счетчика цикла for вне цикла.
Выполняйте... Автор: XoPyC (12.07.2010 / 21:50)
Просмотры: 3946
Комментарии (15) »
По возможности объявляйте методы как статические. Они вызываются в 4 раза быстрее.
echo быстрее чем print
Быстрее вызвать echo с несколькими аргументами – строковыми переменными – чем сначала склеивать их в одну.
Устанавливайте максимальное значение для счетчика цикла for вне цикла.
Выполняйте... Автор: XoPyC (12.07.2010 / 21:50)
Просмотры: 3946
Комментарии (15) »
Создание форм и получение содержимого в одной переменной
Класс
Просмотры: 2017
Комментарии (6) »
Класс
<? define('BR',1); class forms{ var $action; var $method; var $form_start; var $form_close = '</form>'; var $clform; var $cols = '25'; var $rows = '4'; var $size; var $maxlength; var $text; function forms($action,$method) { $this->action = $action; $this->method = $method; $this->form_start = '<form action="'.$action.'" method="'.$method.'">'; } function addelem($TYPE,$form_type=null,$NAME,$VALUE=null,$br=null,$option=null) { if ($form_type == '') {$form_type = 'text';} if ($br){$br = '<br />';} if (!empty($this->text)){$text = $this->text."\n";} if (!empty($this->size)){$size = 'size="'.$this->size.'"';} if (!empty($this->maxlength)){$maxlength = 'maxlength="'.$this->maxlength.'"';} if ($TYPE == 'input') { $this->clform[] = $text.'<input type="'.$form_type.'" name="'.$NAME.'" value="'.$VALUE.'" '.$size.' '.$maxlength.'/>'.$br; } elseif ($TYPE == 'textarea') {...Автор: orel (04.07.2010 / 15:18)
Просмотры: 2017
Комментарии (6) »
Одним из важнейших предопределённых массивов является массив $_SERVER — в него PHP-интерпретатор помещает переменные, полученные от сервера. Без данных переменных сложно организовать полноценную поддержку Web-приложений. Ниже приводится описание наиболее важных элементов суперглобального массива $_SERVER.
Замечание
Элемент $_SERVER
Элемент $_SERVER содержит путь к корневой директории сервера, если скрипт выполняется в виртуальном хосте, в данном элементе указывается путь к корневой директории виртуального хоста. Т.е. в конфигурационном файле httpd.conf виртуальный хост имеет директиву DocumentRoot, которой присвоено значение... Автор: Вантуз-мен (29.05.2010 / 23:32)
Просмотры: 1856
Комментарии (9) »
Замечание
Просмотреть полный список элементов массива $_SERVER можно либо при помощи функции print_r(), которая распечатывает дамп массива либо при помощи функции phpinfo(), которая выводит информацию о PHP-интерпретаторе.
Элемент $_SERVER
Элемент $_SERVER содержит путь к корневой директории сервера, если скрипт выполняется в виртуальном хосте, в данном элементе указывается путь к корневой директории виртуального хоста. Т.е. в конфигурационном файле httpd.conf виртуальный хост имеет директиву DocumentRoot, которой присвоено значение... Автор: Вантуз-мен (29.05.2010 / 23:32)
Просмотры: 1856
Комментарии (9) »
Увидел тут статью камрада True, захотелось плеваться. Информация устарела. Ну что ж, а теперь по существу.
Пункт 1:
"Вы должны осознавать что при преобразованиях (preg_replace, str_replace) регулярки используют гораздо больше ресурсов чем строковые функции, поэтому рекомендую там где можно обойтись использовать именно str_replace или str_ireplace"
В целом всё верно, но функция strtr является более быстрой, особенно для больших объёмов данных, например, для сообщения на форуме.
Пункт 2:
"Помните о том, что в большинстве случаев, если все же надо использовать регулярку preg_match работает быстрее чем eregi"
Функции ereg и её друзей вообще больше нет в PHP 5.3 и выше. Поэтому речь... Автор: Studentsov (11.05.2010 / 15:01)
Просмотры: 1840
Комментарии (8) »
Пункт 1:
"Вы должны осознавать что при преобразованиях (preg_replace, str_replace) регулярки используют гораздо больше ресурсов чем строковые функции, поэтому рекомендую там где можно обойтись использовать именно str_replace или str_ireplace"
В целом всё верно, но функция strtr является более быстрой, особенно для больших объёмов данных, например, для сообщения на форуме.
Пункт 2:
"Помните о том, что в большинстве случаев, если все же надо использовать регулярку preg_match работает быстрее чем eregi"
Функции ereg и её друзей вообще больше нет в PHP 5.3 и выше. Поэтому речь... Автор: Studentsov (11.05.2010 / 15:01)
Просмотры: 1840
Комментарии (8) »
Одной из важнейших задач встающих перед начинающим разработчиком php является защита от взлома кода. Взломать конечно можно по разному, но в большинстве случаев взлом происходит из-за невнимтельности(читайте усталости, ваш покорный слуга круглыми ночами в свое время занимался разработкой проектов в следствии чего под утро писал такой код что на след…вечер было самому страшно смотреть) программиста. Важнейшее правило-фильтруйте любые приходящие от клиента. Будь то e-mail, обычный текс, число, браузер, или даже IP. С числовыми данными все просто. Для того чтобы быть точно уверенным что число “не грязное” надо всего лишь четко задать тип данных в переменно-int или привести ее к целочисленному...
Автор: (10.05.2010 / 17:01)
Просмотры: 1908
Комментарии (9) »
Просмотры: 1908
Комментарии (9) »
Любой уважающий себя программист должен понимать, что сервер имеет конечное число ресурсов, которые рано или поздно заканчиваются. Поэтому требуется как можно тщательнее оптимизировать программный код, дабы потом не хвататься за голову и не сокрушаться что сервера не справляются. Каким же образом оптимизировать код? На самом деле, если не затрагивать MySQL (о чем надо, я считаю, говорить отдельно), способов оптимизации не так уж и много. Точнее их не мало, но результат от них, по отдельности очень маленький, а суммарно, как говорится, “копейка рупь бережет”.. Сейчас я хочу перечислить то, что знаю, и чем очень часто пользуюсь.
1- Вы должны осознавать что... Автор: (10.05.2010 / 16:57)
Просмотры: 1416
Комментарии (2) »
1- Вы должны осознавать что... Автор: (10.05.2010 / 16:57)
Просмотры: 1416
Комментарии (2) »
Спам-роботы, на сегодняшний день, по уровню технологий достигают высоких вершин. Спам-роботы, каждый день усовершенствуются и засоряют сайты различной информацией. Целью спам-робота является размещение на сайте ссылки на некоторый ресурс или тематической информации. Однако, встречаются и просто добавление наборов символов (не имеющих смысла) и ссылок на несуществующие хосты. В любом случае, со спам-роботами нужно бороться.
Принцып их работы приблизительно такой: сначала они анализируют всемирную паутину на поиск сайтов, подходящих им по определенным критериям. Потом, индексируют страницы сайта с формами (формы коментариев/сообщений). Далее следует анализ формы и ее защиты. Если спам-программа успешно добавляет данные в форму и они размещаются на странице, то... Автор: (08.05.2010 / 17:37)
Просмотры: 2260
Комментарии (2) »
Принцып их работы приблизительно такой: сначала они анализируют всемирную паутину на поиск сайтов, подходящих им по определенным критериям. Потом, индексируют страницы сайта с формами (формы коментариев/сообщений). Далее следует анализ формы и ее защиты. Если спам-программа успешно добавляет данные в форму и они размещаются на странице, то... Автор: (08.05.2010 / 17:37)
Просмотры: 2260
Комментарии (2) »