PHP (Статей: 62)

Всем привет hello .

Если вы зашли прочитать эту статью, то наверняка задавались этим вопросом, либо вы просто хотите узнать что-то новое smile .
Поставим задачу: Написать функцию, которая будет отдавать файл частями и возможностью докачки файлов, в случае разрыва соединения.
Для решения задачи есть два способа решения: первый только отдает файл, соответственно она не является хорошим решением, но мы тоже его рассмотрим.

Начнем с простого способа. Пусть наш скрипт получает имя файла через какой-либо из параметров запроса. Это может быть реально набранный URL, а может быть и переписанный сервером при помощи mod_rewrite. Скрипт вызывает функцию file_download () с параметром...
Просмотры: 3139
Автор:
Комментарии (14) »
Добрый день
Задача: создать архив в 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;...
Просмотры: 1117
Автор:
Комментарии (5) »
Доброго времени суток!!! Не помню откудова я брал эту статейку... думаю "хидерам" пригодится)

Все программные продукты для защиты PHP-скриптов подразделяются на две категории: требующие установки на сервер дополнительных модулей и работающие с обычной конфигурацией web-серверов. Первые более надежны в плане безопасности, так как переводят PHP-скрипты из текстового вида в специальный байт-код, но требуют доступа к серверу с правами администратора. Вторые могут работать практически на всех хостингах с поддержкой PHP, в том числе и бесплатных, но не представляют большой сложности для взлома. В отдельную подгруппу можно выделить обфускаторы исходного кода, не использующие шифрование или сжатие.

Защиты на уровне сервера:

Zend Encoder...
Просмотры: 3240
Автор:
Комментарии (5) »
Странно, что в русскоязычном интернете так мало внимания уделяется оптимизации быстродействия пхп-скриптов… Может быть, те кому важно быстродействие, вообще не пишут на пхп? Шутка Пожалуй, буду исправлять ситуацию… и начну с публикации этой небольшой подборки советов. Перечисленные в ней факты следует знать каждому пхп-программисту, который собирается писать скрипты хоть немного сложнее чем форма обратной связи на сайте smile

По возможности объявляйте методы как статические. Они вызываются в 4 раза быстрее.
echo быстрее чем print
Быстрее вызвать echo с несколькими аргументами – строковыми переменными – чем сначала склеивать их в одну.
Устанавливайте максимальное значение для счетчика цикла for вне цикла.
Выполняйте...
Просмотры: 3982
Автор:
Комментарии (15) »
Создание форм и получение содержимого в одной переменной

Класс
<?
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')
{...
Просмотры: 2049
Автор:
Комментарии (6) »
Одним из важнейших предопределённых массивов является массив $_SERVER — в него PHP-интерпретатор помещает переменные, полученные от сервера. Без данных переменных сложно организовать полноценную поддержку Web-приложений. Ниже приводится описание наиболее важных элементов суперглобального массива $_SERVER.

Замечание
Просмотреть полный список элементов массива $_SERVER можно либо при помощи функции print_r(), которая распечатывает дамп массива либо при помощи функции phpinfo(), которая выводит информацию о PHP-интерпретаторе.

Элемент $_SERVER

Элемент $_SERVER содержит путь к корневой директории сервера, если скрипт выполняется в виртуальном хосте, в данном элементе указывается путь к корневой директории виртуального хоста. Т.е. в конфигурационном файле httpd.conf виртуальный хост имеет директиву DocumentRoot, которой присвоено значение...
Просмотры: 1882
Автор:
Комментарии (9) »
Увидел тут статью камрада True, захотелось плеваться. Информация устарела. Ну что ж, а теперь по существу.
Пункт 1:
"Вы должны осознавать что при преобразованиях (preg_replace, str_replace) регулярки используют гораздо больше ресурсов чем строковые функции, поэтому рекомендую там где можно обойтись использовать именно str_replace или str_ireplace"
В целом всё верно, но функция strtr является более быстрой, особенно для больших объёмов данных, например, для сообщения на форуме.
Пункт 2:
"Помните о том, что в большинстве случаев, если все же надо использовать регулярку preg_match работает быстрее чем eregi"
Функции ereg и её друзей вообще больше нет в PHP 5.3 и выше. Поэтому речь...
Просмотры: 1868
Автор:
Комментарии (8) »
Одной из важнейших задач встающих перед начинающим разработчиком php является защита от взлома кода. Взломать конечно можно по разному, но в большинстве случаев взлом происходит из-за невнимтельности(читайте усталости, ваш покорный слуга круглыми ночами в свое время занимался разработкой проектов в следствии чего под утро писал такой код что на след…вечер было самому страшно смотреть) программиста. Важнейшее правило-фильтруйте любые приходящие от клиента. Будь то e-mail, обычный текс, число, браузер, или даже IP. С числовыми данными все просто. Для того чтобы быть точно уверенным что число “не грязное” надо всего лишь четко задать тип данных в переменно-int или привести ее к целочисленному...
Просмотры: 1939
Автор:
Комментарии (9) »
Любой уважающий себя программист должен понимать, что сервер имеет конечное число ресурсов, которые рано или поздно заканчиваются. Поэтому требуется как можно тщательнее оптимизировать программный код, дабы потом не хвататься за голову и не сокрушаться что сервера не справляются. Каким же образом оптимизировать код? На самом деле, если не затрагивать MySQL (о чем надо, я считаю, говорить отдельно), способов оптимизации не так уж и много. Точнее их не мало, но результат от них, по отдельности очень маленький, а суммарно, как говорится, “копейка рупь бережет”.. Сейчас я хочу перечислить то, что знаю, и чем очень часто пользуюсь.
1- Вы должны осознавать что...
Просмотры: 1465
Автор:
Комментарии (2) »
Спам-роботы, на сегодняшний день, по уровню технологий достигают высоких вершин. Спам-роботы, каждый день усовершенствуются и засоряют сайты различной информацией. Целью спам-робота является размещение на сайте ссылки на некоторый ресурс или тематической информации. Однако, встречаются и просто добавление наборов символов (не имеющих смысла) и ссылок на несуществующие хосты. В любом случае, со спам-роботами нужно бороться.
Принцып их работы приблизительно такой: сначала они анализируют всемирную паутину на поиск сайтов, подходящих им по определенным критериям. Потом, индексируют страницы сайта с формами (формы коментариев/сообщений). Далее следует анализ формы и ее защиты. Если спам-программа успешно добавляет данные в форму и они размещаются на странице, то...
Просмотры: 2286
Автор:
Комментарии (2) »
Топ статей / Облако тегов / Поиск / Авторы