Прежде всего, ответим на вопрос: что же такое PHP? PHP - это система разработки скриптов, включающая в себя CGI - интерфейс, интерпретатор языка и набор функций для доступа к базам данных и различным объектам WWW. По личному мнению автора этой статьи, на данный момент PHP является наиболее удобным и мощным средством разработки приложений WWW и интерфесов к БД в Интернет.
2.1 . Обработка строк
Работа со строками в
php гораздо богаче, чем в С. Кроме того, что существуют практически
все стандартные функции языка С, наличиствует множество
дополнительных функций и возможностей, которые как ориентированы на
web, так и просто облегчают работу. В частности конкатенация строк
осуществляется следующим оператором:
$result_str=$first_str . $second_str;
В качестве примеров полезных для работы в web
функций могут служить функции htmlspecialchars() ,
преобразующая в строке символы типа & в
последовательность &
или функция
urlencode(string str),
преобразующую
символы русского алфавита в последовательность %XX, где ХХ -
шестнадцатеричный код символа. Также весьма интересны функции работы
с регулярными выражениями, например
$str=ereg_replace("/usr/local/([^/]*)/filename",
"\\1","/usr/local/dirname/filename");
даст нам строку
$str="dirname".
Или например функция
explode
, лично меня очень порадовшая:
данная функция позволяет преобразовать строку в массив значений,
например для формирования следующего элемента выбора
Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье
был использован следующий код:
2.2 . Работа с
файлами и процессами
Работа с файлами в PHP
практически ничем не отличается от работы с файлами в С, те-же
самые функции работы с потоками или с блоковыми файлами, fopen,
fclose, fread, fgets, fputs, fwrite, но есть одна маленькая, но
очень приятная возможность работать с файлами по их URL, например
возможны следующие конструкты:
$fp = fopen("http://www.soft.ru/", "r");
$fp
= fopen("ftp://www.soft.ru/", "r");
И, одной из самых больших прелестей PHP, по моему
мнению является возможность использовать другие программы, например
для получения списка текущей директории использовать стандартную
команду ls
, или отправлять почту с помощью
sendmail
. Это достигается с помощью того,
что php позволяет создать процесс, и работать с его стандартным
вводом или стандартным выводом как с обычным потоком. (команда
popen
, например
$fp=popen("/bin/ls -l","r");
).
2.3 . Работа с базами данных
В системе PHP работа с БД осуществляется в основном путем работы с различными SQL-серверами, причем SQL-сервер в любом случае рассматривается как удаленный, то есть создается сетевое соединение. Благодаря этому возможно открывать из одного скрипта либо несколько пользовательских сессий, либо работать с различными SQL-серверами. После установки соединения с сервером, выбирается рабочая база данных, после чего можно отправлять и обратывать запросы (так как SQL является клиент-серверной архитектурой, любая работа с данными осуществляется с помощью запросов к SQL-серверу на получение или изменение данных). При выполнении запроса создается некий объект, в котором хранится результат выполнения запроса, после чего можно получать отдельные ряды, путем выполнения специальных функций. Если вы когда-нибудь работали с SQL - вы очень быстро разберетесь с использованием функций работы БД в PHP.
В качестве примера, приведем код, который производит выборку из простейшей таблицы, содержащей номера телефонов и наимонования компаний. В результате работы кода получилось следующее:
А сформирована дання таблица была следующим php - кодом:
Использование
PHP
Итак, постепенно мы приходим к следующему выводу: использование PHP целесообразно при создании часто обновляемых либо громоздких в написании программ, скорость выполнения для которых не является критическим параметром (имеется в виду, что если разница между временем выполнения скрипта на С и скрипта на PHP составляет 10-20%, то вполне можно предпочесть скорость разработки скорости выполнения) и необходимо быстрое создание полнофункционального приложения. (если интересно мое личное мнение то кроме PHP я использую только C, и то, очень редко.)
Скрипт - это программа, создающая определенный «сценарий» или последовательность событий, которые произойдут в ответ на какое-либо действие пользователя или команду сервера. Скрипты позволяют значительно сэкономить время на создание программы, приложения или веб-сайта, однако могут незначительно замедлять их работу.
В этой статье мы расскажем, как писать скрипты на базе одном из самых популярных сейчас языков программирования JQuery, а также напишем о том, как использовать скрипты в ASP. NET.
JQueryJQuery - самый лаконичный и краткий язык программирования на базе JavaScript, который упрощает работу с HTML-документами: с событиями, анимацией, а также с асинхронным JavaScript и XML. Его принципиально новый подход к веб-программированию, который позволяет значительно сократить время на изготовление сайта, уже полюбился многим программистам и его популярность продолжает расти.
Чтобы начать работать с данным языком программирования, вам необходимо будет вначале скачать библиотеку JQuery с официального сайта. Затем можно приступать к созданию скриптов. Например, создадим скрипт, который будет в браузере отображать фразу "Hello World":
При открытии данного скрипта в браузере у вас отобразиться веб-страница с названием самого документа из заголовка jQuery Hello World, в котором будет отображен текст двух прописанных скриптов This is Hello World by JQuery и This is Hello World by HTML. Строчка src="jquery-1. 2. 6. min. js"> используется для подключения самой библиотеки, но будьте внимательны, так как ваша версия файла может отличаться. Чтобы правильно прописать имя файла, зайдите в соответствующий каталог сайта: public_html/javascript/JQuery/имя_файла. js.
ASP. NETASP. NET - это технология веб-программирования от компании Microsoft, которая позволяет использовать в своей работе коды, написанные на любом из языков программирования, выполненном на программной платформе. NET Framework от Microsoft.
Руководства, как написать скрипт в ASP. NET, нет и быть не может, т. к. данное приложение использует уже готовые библиотеки скриптов MicrosoftAjax. js и MicrosoftMvcAjax. js или скрипты, написанные на других языках программирования. Чтобы создать ссылку на библиотеку скриптов, необходимо сделать следующее:
Информацию о скриптах на других языках программирования вы найдете в статье .
Любой начинающий системный администратор Linux рано или поздно сталкивается с таким понятием, как “скрипт ”, будь то один из загрузочных скриптов вроде /etc/rc.d/rc или написанный разработчиком ПО скрипт конфигурирования configure . В данной статье я постараюсь показать, что написание скриптов на shell не является чем-то из ряда вон выходящим и вполне под силу даже новичку в мире Linux.
Начнем с того, что разберем, что же скрывается за английскими терминами shell и скрипт . Shell , или оболочка, как этот термин иногда переводят - это командный интерпретатор, интерфейс между пользователем и операционной системой, ее ядром. Но, кроме этого, это еще и мощный язык программирования и написания сценариев. Он содержит свои служебные слова и управляющие конструкции и позволяет писать на нем программы. Такая программа на языке сценариев, называемая скриптом , может объединять в себе системные вызовы и команды операционной системы, а также внешние утилиты, создавая мощный инструмент для системного администрирования.
Одной из задач системного администрирования является резервное копирование важной информации. Поэтому давайте рассмотрим пример скрипта, реализующего back-up информации.
Начало началИтак, прежде всего, нам необходимо разобраться в структуре скрипта. Она не представляет собой ничего сложного. По большому счету, простейший скрипт - просто перечисление системных команд. Например:
Echo This is just example
whoami
uname -a
Эти команды объединены в одном файле. Но shell должен знать, что он должен этот файл обработать, а не просто прочесть его содержимое. Для этого служит специальная конструкция: #!
Эта конструкция называется «sha-bang ». Вообще-то, # задает комментарий, но в данном случает sha-bang означает, что после нее пойдет путь к обработчику скрипта. Напрмер:
#!/bin/bash
#!/bin/sh
#!/usr/bin/perl
Мы остановимся на Bash, Bourne-Again shell. Это shell устанавливается по умолчанию практически во всех Linux-системах, и /bin/sh ссылается на него. Об окончании скрипта говорит служебное слово exit.
Вооружившись этими знаниями, напишем наш первый скрипт:
#!/bin/bash
echo Простой скрипт # Команда echo выводит сообщение на экран
echo Вы:
whoami # whoami показывает имя зарегистрированного пользователя
echo Ваша система стартовала
uptime # uptime показывает время включения машины
echo Сегодня
date # date показывает текущую дату и время
echo Пока все
exit
Сохраним этот файл под именем tutor1.sh. Выполним команду чтобы сделать скрипт исполняемым.
Chmod +rx tutor1.sh
Результатом выполнения скрипта будет:
Voland@superstar:~/Doc/Open Source$ ./tutor1.sh
Простой скрипт
Вы:
voland
Ваша система стартовала
14:38:46 up 1:48, 2 users, load average: 0.47, 0.43, 0.41
Сегодня
Вск Фев 26 14:38:46 MSK 2006
Пока все
Теперь, когда мы научились писать простейшие скрипты, самое время перейти к серьезным вещам: написанию скрипта для резервного копирования.
Перво-наперво, необходимо определить - резервную копию чего мы будем делать. Поэтому наш скрипт должен уметь работать с командной строкой. Аргументы командной строки задаются после имени скрипта через пробел: somescript arg1 arg2 arg3. Скрипт воспринимает аргументы по номерам их следования, поэтому мы будем использовать конструкции вида $номер_аргумента, т.е. $1, $2, $3. $ - это символ подстановки, который нам понадобится и при работе с переменными. Переменные в скрипте задаются в виде имя_переменной=значение. Мы будем использовать переменные MAXPARAMS для определения максимального количества параметров командной строки, BACKUPFILE для задания имени архива, BACKUPDIR для папки, резервную копию которой мы будем делать и ARCHIVEDIR для папки, куды мы поместим архив. Самой главной частью скрипта будут команды поиска и архивации всех найденных файлов и папок в указанной:
Find . -type f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $archive.tar
Давайте разберемся, что же эти команды делают. find ищет в текущем каталоге (об этом говорит первый аргумент ".") все файлы и выдает полный путь к ним (print0). Эти пути перенаправляюся команде tar, которая собирает все файлы в один. Затем командой gzip мы архивируем получившийся tar-файл. Команда > /dev/null удобна, если вы архивируете большое количество файлов. В этом случае их имена и полный путь к ним не выводятся на консоль.
Следующий шаг должен предусмотреть подсказки пользователю как пользоваться скриптом, если он допустит какие-то ошибки.
Например, эта конструкция
If [ $# -lt "$MAXPARAMS" ];
then
echo
echo
exit 0
fi
подскажет, что пользователь указал недостаточное количество аргументов командной строки. If [условие]...fi задает условную конструкцию. $# -lt "$MAXPARAMS" проверяет введенное количество параметров и если это число окажется меньше MAXPARAMS, то пользователю будет выдано сообщение об ошибочном вводе. Exit 0 заставит скрипт прекратить работу без указания кода ошибки. Аналогично проверяется превышение допустимого числа параметров, только вместо ls (less then - меньше, чем), необходимо указать gt (greater then - больше, чем). Теперь, когда основные моменты скрипта разъяснены, можно переходить к полной его версии:
#!/bin/bash
# Описание:
#+ Делает резервную копию всех файлов в указанной директории
#+ в "tarball" (архив tar.gz).
#+ Использование:
#+ sh backup.sh имя_архива папка-источник папка-назначение
#+
# Максимальное количество параметров командной строки
MAXPARAMS=3
if [ $# -lt "$MAXPARAMS" ];
then
echo
echo "Использование: sh `basename $0` имя_архива папка-источник папка-назначение"
echo
exit 0
fi
if [ $# -gt "$MAXPARAMS" ];
then
echo
echo "Для этого скрипта нужно только $MAXPARAMS аргументов командной строки!"
echo
exit 0
fi
# Переменные, которые мы используем в скрипте
BACKUPFILE=$1-backup-$(date +%m-%d-%Y)
archive=$BACKUPFILE
BACKUPDIR=$2
ARCHIVEDIR=$3
# Проверяем, есть ли папка-источник и папка-назначение
if [ ! -e $BACKUPDIR ];
then
echo
echo "\"$BACKUPDIR\" не существует!"
echo
exit 0
fi
if [ ! -e $ARCHIVEDIR ];
then
echo
echo "\"$ARCHIVEDIR\" не существует, создаем..."
mkdir $ARCHIVEDIR
echo "Готово."
fi
# Проверяем, есть ли архивы в источнике и назначении.
cd $ARCHIVEDIR
if [ -e $archive.tar.gz ];
then rm $archive.tar.gz
fi
cd $BACKUPDIR
if [ -e $archive.tar.gz ];
then rm $archive.tar.gz
fi
# Главная часть скрипта...
echo "Делаем резервную копию \"$BACKUPDIR\" в файл \"$archive.tar.gz\"..."
find . -type f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $archive.tar
echo "\"$BACKUPDIR\" была успешно заархивирована в файл \"$archive.tar.gz\"."
# Перемещаем архив в папку ARCHIVEDIR
echo "Перемещаем архив \"$archive.tar.gz\" в папку \"$ARCHIVEDIR\"."
mv $archive.tar.gz $ARCHIVEDIR/$archive.tar.gz
echo "Готово."
Надеюсь, основные моменты я прокомментировал достаточно подробно. Если у вас возникли какие-либо вопросы, то вы можете связаться со мной по адресу [email protected] Рекомендую также замечательную книгу Advanced Bash-Scripting Guide Менделя Купера (Mendel Cooper), которая очень помогла мне в свое время, когда я только знакомился со скриптами. Удачного программирования.
P.S. Большое спасибо mar за ее замечания и советы.
Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Подписаться
Скрипт сайта - это код, который внедряется на ресурс и расширяет функциональность портала.
Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA
Простыми словами, скрипт сайта – это исполняемый процесс, запускаемый сервером по специальному запросу, поступающего со страницы web-сервиса для выполнения определенной задачи.
Приведем простой пример. Вы сделали свой автомат, который наливает кофе по нажатию кнопки. Чтобы машина работала как надо, нужно ее правильно запрограммировать. Наверняка, ваш автомат будет наливать несколько видов напитка. При нажатии на кнопку будет запускаться скрипт приготовления определенного кофе.
На сайте скрипт работает примерно так же. Запускается при определенном условии и выполняет свою работу.
Основные виды скриптовВсе скрипты делятся на 2 категории:
Программы пишут с помощью специальных языков, имеющих разный синтаксис, возможности и области использования. Существует немало языков программирования, с помощью которых делаются скрипты. Например:
Сегодня почти каждый портал использует скрипты. Они расширяют базовый функционал. Вспомните популярную когда-то фишку - под новый запускают скрипт. И на сайте “идет снег”.
Скрипты используются для:
Скрипт помещается в отдельный файл и загружается на сервер. Когда нужно его выполнить, к файлу происходит обращение.
Особенности работы скриптов на сайтеCGI-скрипт – это самый распространенный тип программы, выполняемой на Web-сервере. Запуск работы осуществляется после клиентского запроса, т.е. пользователя, посетившего сайт и совершившего там определенные действия. Действие CGI в некотором роде сопоставимо с функционированием других популярных программ: MS Word или Explorer.
Специфика работы на практике: пользователи, оставляя отзывы или комментарии на сайте, заполняют определенные поля. Данные отправляются на сервер, после чего происходит включение скрипта для обработки поступившей информации. В ответ пользователь получает уведомление о том, что его запрос обрабатывается.
Тут можно привести еще примеры таких скриптов – калькулятор, обратный звонок и прочие функции сайта срабатывают по схожему принципу. Владельцу сайта необходимо определить те параметры, которые будут учитываться скриптом после совершения пользователями целевых действий.
Последовательность использованияОбычно скрипты имеют инсталлятор для автоматический установки на сайт.
Последовательность внедрения скрипта на сайт:
Скрипты расширяют функциональность ресурса. Они могут добавлять новые “фишки”, которые нужны пользователям. Но не переусердствуйте - пичкать сайт снежинками и вылетающими котиками не нужно.
Правила написания скриптов
Прежде всего надо рассмотреть тег . Этот тег служит для вставки скриптов в HTML-код страницы. Его формат:
. . . Текст скрипта
Текст скрипта помещаетс внутрь тега
Атрибут language позволяет указать, на каком языке программирования написан скрипт.
Значение по умолчанию - "JavaScript".
Internet Explorer поддерживается скрипты, написанные на языке VBScript, которому соответствует значение атрибута "VBScript".
Navigator позволяет задавать версию интерпретатора JavaScript:
Это может пригодиться в случаях, когда вы используете возможность языка JavaScript, специфичную для какой-либо версии.
В следующей таблице приведены версии интерпретатора JavaScript и соответствие их разным версиям Navigator:
Второй атрибут src служит для задания адреса файла, содержащего скрипт.
В этом случае обычно парный тег превращается в одинарный:
js - стандартное расширение для JavaScript-файлов.
Но что случиться, если Web-обозреватель не поддерживает скрипты? (Например, это слишком старая версия программы, или пользователь отключил поддержку скриптов в настройках безопасности.) Web-обозреватель проигнорирует тег и выведет на экран текст скрипта.
Чтобы избежать этого, скрипт внутри тега рекомендуют заключать в комментарий.
Однако некоторые версии Navigator в этом случае "не видят" скрипта, хотя, согласно техническим руководствам самой Netscape, должны. Так что этот совет применим только для Internet Explorer.
В качестве альтернативы вы можете использовать тег .
Этот тег поддерживается Internet Explorer и Navigator:
. . . Текст, отображаемый, если Web-обозреватель неподдерживает скрипты
Тег может помещаться где угодно в тексте страницы, даже вне тега . Текст, помещенный внутрь этого тега, будет отображаться вместо всей страницы. То есть, пользователь Web-обозревателя с отключенной поддержкой скриптов увидит в окне только этот текст и больше ничего.
Из книги Linux From Scratch автора Бикманс ГерардГлава 7. Конфигурация загрузочных скриптов Введение Эта глава описывает конфигурацию скриптов, о которых было рассказано в 6 главе. Большинство из тех скриптов будут работать и без дополнительных настроек, но некоторые требуют дополнительной конфигурации, т.к. они
Из книги Создание электронных книг в формате FictionBook 2.1: практическое руководство автора Кондратович Михаил ИосифовичЧто надо для загрузки loadkeys скриптов? Если вы решили вкомпилить вашу раскладку (keymap) напрямую в ядро, вернитесь в конец 6-й главы, где вам четко сказано, что не требуется его (скрипт) запускать, если вы уже вкомпилили раскладку (keymap) в ядро. Но вы можете запустить крипт если
Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов ВладимирКонфигурация скриптов localnet. Частью установки скриптов, относящихся к localnet, является установка имени компьютера. Это требуется для правильной настройки /etc/sysconfig/network.Создайте файл /etc/sysconfig/network file и введите имя компьютера запустив следующее:echo «HOSTNAME=lfs» > /etc/sysconfig/network«lfs»
Из книги Компьютерные советы (сборник статей) автора Автор неизвестенНастройка сетевых скриптов Эта часть нужна для настройки сетевой карты.Если у вас нет сетевой карты, вам не требуется создавать или настраивать файлы, относящиеся к сетевой карте. В этом случае удалите симлинк network из всех директорий (/etc/rc.d/rc*.d)Настройка шлюза по
Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир§ 4.6 Использование скриптов Автор FB Editor предусмотрел расширение его возможностей при помощи Java Script.Вызываются они из меню ToolsScripts[скрипт].Первые девять скриптов можно вызывать клавишами Ctrl+1…9.Документации, разумеется, не предусмотрено никакой. Во всем придется
Из книги Ководство автора Лебедев Артём Андреевич Из книги Краткое введение в программирование на Bash автора Родригес Гарольд Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри ХеленПравила написания выражений В процессе чтения этой главы мы изучили множество выражений JavaScript. Но так и не узнали, по каким правилам они пишутся. Настала пора восполнить пробел в наших знаниях.- Между операндами, операторами, вызовами функций и методов и ключевыми
Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич§ 163. Правила написания почтовых адресов 21 марта 2010Раньше реквизиты адреса принято было писать от большего к меньшему: страна, индекс, город, улица, дом, квартира, Васе Пупкину. В мире принята другая система составления адреса, потому что в мире отправляют много почты и
Из книги Написание скриптов для Blender 2.49 автора Anders MichelТак все-таки программирование (programming) или написание скриптов (scripting)? Новичков в программировании, как правило, озадачивает разница между, собственно, программированием и языками скриптов. Программы, написанные на каких-то языках программирования, обычно гораздо более
Из книги автораЧто нужно знать для написания своих скриптов? Для этого необходимо знание основных команд Linux. Например, вы должны знать, как копировать, перемещать и создавать новые файлы. Обязательно умение использовать какой-либо текстовый редактор. Существуют три основных текстовых
Из книги автораПереносимость ваших скриптов на bash При написании ваших собственных скриптов важно делать это так, чтобы они оставались переносимыми. Термин «переносимость» означает, что если ваш скрипт работает под Linux, то он должен работать в другой Unix-системе с малыми изменениями или
Из книги автораИнструменты для написания фильтров API Firebird содержит группу макрофункций, начинающихся с isc_biob_fiiter_, которые являются "инструментом программиста" для написания фильтров BLOB. Документы API Guide и Embedded SQL Guide из набора документов Borland по InterBase версии 6 бета имеют разделы по
Из книги автораСоздание базы данных Employee с помощью скриптов После выполнения инсталляции Firebird база данных Employee будет создана и будет сделана ее резервная копия из скриптов. Скрипты empddl.sql (который создает метаданные) и empdll.sql (который заполняет базу данных) доступны в области Downloads на
Из книги автораИспользование скриптов в клиентских приложениях базы данных InterBase Время от времени у любого программиста появляется желание вынести часть логики своих приложений на уровень, который можно было бы изменять без перекомпиляции приложения. А для определенного класса задач