Архив на категорию : 'Практика php'

Novice

Сегодня мы поговорим о том, как работать с FTP из нашего PHP-скрипта, а кроме этого попытаемся что-нибудь автоматизировать с помощью функций для работы с FTP.

Для начала рассмотрим примеры взаимодействия нашего PHP-скрипта с FTP-сервером. А в качестве задачи выполним следующую – установим для определенной директории и всех вложенных в нее поддиректорий определенные права (например, права на запись), что было бы довольно рутинно, если бы мы ставили эти права вручную через какой-нибудь FTP-менеджер (например, через FAR).

Иногда возникает такая проблема, что нам нужны права на запись для определенной директории, но мы не можем воспользоваться функцией chmod, если скрипт, который ее использует, не был создан под юзером, в котором работает PHP. Проще говоря, если мы заливаем PHP-скрипт на FTP, а затем пытаемся с его помощью установить права 777 на какую-нибудь папку или файл, то PHP говорит нам нечто вроде «Access Denied». Но если бы мы создали этот PHP-скрипт из другого PHP-скрипта, который находится на этом же сервере, то мы могли бы воспользоваться функцией chmod. Но зачастую возникает именно первая ситуация, когда мы скрипты заливаем на FTP вручную, а потом ставим сами необходимые права на определенные папки и файлы (через тот же самый FTP или зайдя на сервер под SSH).

А если нам нужно установить права на все папки в определенной директории, а их там сотни? Причем уровень вложенности = 10, допустим. Тогда руками тут не обойдешься. Придется писать свой скрипт, который рекурсивно будет ставить права. Этим мы и займемся далее.
Читать далее »

Novice

Давно хотел поработать с Zend Framework, да все руки не доходили. А тут несколько дней назад услышал, что вышла новая версия 1.7.1. Ну я и решил восполнить пробел, так сказать.

Сразу скажу, что этот пост не о том, как сделать свой первый сайт на Zend Framework за 10 минут. И даже не о том, как в Zend Framework все круто сделано. Сразу после того как я скачал 20 Мб архив с исходниками и всем остальным – я полез в инет за поиском документации с примерами вроде “Быстрого старта”.

Документации по этой теме достаточно даже на русском языке. Тем не менее, на второй день изучения этого фреймворка у меня уже накопилось несколько вопросов, поиск ответов на которые порядком затянулся.
Читать далее »

Novice

Некоторое время назад (можно даже сказать, что давно) передо мной встала задача сделать скрипт, который будет самостоятельно логиниться на один сайт через форму логина.

Форма выглядела примерно следующим образом:

<form action="login.php" method="post">
<input name="name" value="" type="text" />
<input name="pwd" value="" type="password" />
<input value="Войти" type="submit" />
</form>

Первым делом я конечно проверил, а можно ли передать логин и пароль скрипту login.php методом GET. Т.е. залогиниться с помощью примерно следующего URL: Читать далее »

Novice

В больших и средних проектах, состоящих из большого количества модулей, компонентов, классов и библиотек, может возникнуть такая проблема, как вызов одинаковых запросов к mysql за один пробег скрипта. Другими словами, за все время выполнения скрипта один и тот же запрос может быть вызван несколько раз.
Так как большинство запросов – это запросы выборки SELECT, то такие действия явно будут лишними. В этой статье я расскажу, как это можно разрешить с помощью двух функций.

Очевидным решением этой проблемы является кэширование результатов запроса. Для реализации этого механизма нужно выполнить два условия:

  1. Все запросы должны проходить через одну функцию
  2. Выбираемые данные не должны меняться в процессе выполнения скрипта.

Ок, теперь для реализации этого простого механизма кэширования нам потребуются, по меньшей мере, две функции.
Читать далее »

Novice

В сегодняшнем небольшом посте я расскажу про один очень полезный и удобный php-трюк или ООП-прием или называйте как хотите. В конечном итоге с помощью этой техники можно значительно сократить код и сделать его более удобным для чтения.

Технику я называл цепочками, по аналогии с механизмом в jQuery (мы как-то писали об этом в статье про jQuery).

Предположим, что перед нами стоит задача – реализовать на php класс для форматирования текста. Путь будет только три функции – выделить жирным (bold), сделать курсивом (italic) и подчеркнуть (underline).

При обычной реализации этого класса, при одновременном применении нескольких действий у нас может получиться что-то вроде:

$str = 'qwe'; // текст, который нужно выделить
$text = Text->Bold($str);
$text = Text->Italic($str);
echo $text;

А после использования техники цепочек это можно будет сделать так:

$str = 'qwe';
echo $text = Text->Bold($str)->Italic($str);

Гораздо короче и проще выглядит, не так ли?
Читать далее »

Novice

Как Вы помните, в одной из последних статей я писал про такой популярный php фреймворк как cakephp. В конце той статьи я привел небольшой пример работы CakePhp (быстрый старт), который просто выводит записи из базы данных.

Меня, как начинающего пользователя CakePHP, сразу заинтересовал один вопрос, ответить на который самостоятельно я не смог. Дело все в том, что записи из БД в том примере выводились по центру экрана, а сверху и снизу этот вывод обрамлялся стандартными шапкой (header) и подвалом (footer) от cakephp. Это меня немного удивило, так как я ожидал что выведены будут только посты (я ведь другого оформления не делал сам). Так вот, возникла проблема – нужно было убрать все лишнее с экрана.

Определившись с задачей, я долго лазил по папкам CakePHP, однако, шаблон со стандартными шапкой и футером так и не нашел. Полез на официальный сайт. Пробежавшись немного по мануалу, нашел все-таки решение.
Читать далее »

Novice

Что-то я все чаще стал натыкаться на посты о Ruby On Rails, MVS и разных php-фреймворках. Думаю, пора обратить свое пристальное внимание на эту область веб-разработки :)

С этого поста начну рассматривать один из самых популярных php-фреймворков на сегодняшний день – CakePHP.
Мы уже рассматривали различные js-фрейморки – jQuery и Dojo. Суть php-фреймворков все та же – упростить процесс разработки приложения.

Фреймворк CakePHP имеет архитектуру MVC (Model-Viewer-Controller) – “Модель-Вид-Представление”. Суть этой архитектуры заключается в разделении приложения на три составляющих – модель данных, пользовательский интерфейс и управляющая логика. Причем архитектура спроектирована так, что изменения одного из компонентов практически не отражается на других двух.
Читать далее »


Страница 2 из 7«12345»...Последняя »


© 2008 - 2010 i-novice.net | Все права защищены.