Flash-видео на веб-страницах и PHP. Чем открыть файл.PHP? Какие программы открывают php файлы

Объявление

Формат файлов PHP Website

PHP известен в качестве языка сценариев на стороне сервера. Он используется в веб-разработке. Кроме того, он представляет собой язык программирования общего назначения. Он был создан Расмусом Лердорфом в 1994 году. В настоящее время этот язык используется на более чем 240 миллионах веб-сайтов. Файлы с расширением PHP представляют собой веб-страницы, которые содержат код на указанном языке программирования.

Технические сведения о файлах PHP

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

Дополнительная информация о формате PHP

В этой статье мы узнаем, что такое файлы .php , чем открыть и как с ними работать.

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

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

Примечание

В некоторых файлах исходного кода PHP используется другое расширение, например PHTML , PHP3 , PHP4 , PHP5 , PHP7 или PHPS .

Как открыть файлы PHP

Файлы PHP - это текстовые документы, поэтому открыть их можно любым текстовым редактором или в браузере. В операционной системе Windows не возникнет вопроса, чем открыть PHP файл . Для этого можно использовать редактор «Блокнот ». Но при написании PHP-кода удобно, когда синтаксис подсвечивается, поэтому предпочтение лучше отдать специализированному редактору.

Notepad++ - бесплатный текстовой редактор с подсветкой синтаксиса. Вот еще несколько редакторов для PHP : Adobe Dreamweaver , Eclipse PHP Development Tools , Zend Studio , phpDesigner , EditPlus и WeBuilder . С помощью этих программ можно редактировать файлы PHP , но нельзя запустить код. Для этого нужны другие приложения, такие как Apache Web Server .

Примечание

Некоторые PHP-файлы на самом деле могут оказаться мультимедийными файлами или изображениями, в название которых случайно включили расширение .PHP .

В таком случае измените расширение файла, прежде чем открыть PHP в нужной программе. Если это файл MP4 , то он должен открываться в видеоплеере.

Как конвертировать файл PHP

Изучите документацию по jason_encode на PHP.net , чтобы узнать, как конвертировать массивы PHP в Javascript — код формата JSON (JavaScript Object Notation ). Подобная конвертация возможна только в PHP 5.2 и выше.

PHP-файлы невозможно конвертировать в мультимедийный формат, например MP4 или JPG . Если нужно скачать файл, и вы знаете, что этот файл - изображение или видео, то просто измените его расширение с PHP на нужный формат: MP4 или JPG .

Примечание

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

Что нужно, чтобы PHP работал с HTML

PHP-код , внедренный в HTML-файл , распознается как PHP , а не как HTML , если он заключен в следующие теги:

< ?php [код PHP] ?>

Чтобы в HTML-файле сделать ссылку на файл PHP , используйте приведенный ниже код, в котором вместо footer.php впишите название своего файла:

< ?php include "footer.php";?>

Иногда веб-страница использует PHP , ссылаясь на URL , в котором PHP-файл по умолчанию имеет название index.php . Это может выглядеть примерно так:

http://www.examplesite.com/index.php .

Больше информации по PHP

Официальный веб-сайт данного языка программирования - PHP.net . Если хотите узнать больше о том, как работать с PHP , то можете обратиться к полной документации . Хорошим ресурсом также является W3Schools .

Первая версия PHP была выпущена в 1995 году и называлась Personal Home Page Tools (инструменты для создания персональных домашних страниц ) или PHP Tools .

Наиболее распространенное использование PHP - это выполнение скриптов на сервере. В этом случае необходима совместная работа парсера PHP , браузера и сервера. Браузер обращается к серверу, на котором запущено программное обеспечение PHP , и отображает на странице все, что происходит на сервере.

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

Файлы PHPS - это файлы с подсветкой синтаксиса. Некоторые серверы PHP настроены так, что они автоматически подсвечивают синтаксис в файлах с таким расширением. Этот параметр можно включить в файле конфигурации httpd.conf . Больше о подсветке синтаксиса, формате PHP и чем открыть, можно прочитать здесь .

Рассмотрим различные ситуации, связанные с расширением php. Вообще такой файл спокойно открывается в блокноте, но не всегда это будет информативно. Если это результат работы программиста на языке PHP, то получим исходный файл со скриптами, командами для исполнения. Если же скачивали вы что-то из интернета – фильм, музыку или веб-страницу – то тоже можете получить PHP файл.

Два способа открыть PHP документ

Попробуем открыть файл с расширением.php в первом случае (файл с кодом). Запустить или просмотреть результат выполнения файла без сервера невозможно. Но и это не является большой проблемой. Установить сервер вызовет затруднений даже у начинающих программистов. Инструкция:

  1. Устанавливаем на ПК пакет Денвер – локальный сервер и другие инструменты для удобной работы со скриптами на языке PHP в режиме офлайн, вообще без активного доступа к интернету. Его можно скачать c официального сборки.
  2. Затем берем наш файл, назовем его filename.php, и помещаем в папку веб-сервера.
  3. и в строке вводим путь до файла.
  4. Наблюдаем результат выполнения кода.

Подробнее о втором и третьем пункте инструкции. Следуем в каталог “C:\WebServers\home”, здесь по-умолчанию расположена папка под названием “test”. Теперь по вашему усмотрению: можете выбрать эту папку, можете создать свою здесь же (например, 123). Переходим в папку и создаем еще одну под названием «www». Теперь уже в нее помещаем наш файл “filename.php”. Полный путь до файла будет следующим: “C:\WebServers\home\123(или test)\www\filename.php”.

Стоит обратить внимание на то, что обязательно нужно создать папку www, не следует пропускать этот пункт.

Запускаем Денвер при помощи кнопки Run. Должна появиться надпись в черном окне командной строки о том, что хост 123 (test) добавлен. Если в версии локального сервера нет иконок, то ищем их в “C:\WebServers\denwer\utils\”.

Не стоит менять настройки по умолчанию после установки Денвер, все и так отлажено и настроено, включены модули Magic, GD, FDPF и другие.

Если вы не связаны с разработками программ и файл с расширением.php появился у вас , музыки, то смело пробуем открыть его в Блокноте. Возможно, вам будет выдана ошибка. В таком случае отключаем менеджер загрузок и пробуем снова. В других случаях с большой вероятностью в браузере откроется сохраненная страница сайта, с которого вы начинали скачивать фильм/музыку и т.д. Т.е. вместо непосредственно загрузки контента вы сохранили на жесткий диск саму страницу.

Программы для работы с PHP файлами в разных ОС

Самым простым способом просмотреть php документ — это открыть его в Блокноте, как говорилось ранее.

В Windows php файл можно открыть в следующих программах:

  • Блокнот;
  • PHPEdit;
  • Notepad++;
  • Microsoft Wordpad;
  • EditPlus;
  • Любой текстовый редактор;

PhpEdit — профессиональная программа, при помощи которой можно не только открыть, но и создавать целые проекты на языке PHP.

Рекомендуем особое внимание уделить программе Notepad++, который весьма удобен в использовании, когда речь идет о редактировании исходных кодов программ и скриптов. Если открыть файл PHP в Notepad++, автоматически будет распознан и подсвечен синтаксис, есть возможность сворачивать и разворачивать блоки кода, удобный поиск и расширенный функционал замены на основе регулярных выражений – далеко не полный функционал полезных опций, которые предоставляет данный редактор.

В Mac открываем в:

  • Bare Bones Software BBEdit;
  • TextEdit;
  • TextMate;
  • Иной другой удобный для вас текстовый редактор.
  • Gedit;
  • BlueFish;
  • Eclipse PHP Development Tools;
  • Любой текстовый редактор.

Итак, мы рассмотрели несколько вариантов, как открыть файл с расширением PHP. В первом случае у вас будет возможность ознакомиться с результатом работы такого скрипта, второй подойдет для внесения правок и редактирования самого кода скрипта.

Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов PHP".

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

  • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:PHP" . Просто замените слово "файл" на нужное вам название;
  • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

Эта статья - перепечатка статьи от 16 ноября 2007 г. с моего блога, ссылку на который можно найти в моем же профайле - но, поскольку так уж вышло, что тема эта, кажется, до сих пор многим интересна, к тому же не так давно я читал на эту тему доклад на конференции PHPConf… в общем - судите сами.

Вступление

В последнее время все большее распространение получает технология трансляции видео через веб – без необходимости скачивать медиа-контент на машину пользователя, с просмотром прямо из браузера. Таким образом можно просматривать довольно большое количество различных форматов видео, однако, это требует наличия определенных плагинов на стороне пользователя. Очевидно, самым распространенным подобным плагином является flash-player (ну хорошо, хорошо: если быть точным, то он, конечно же, не может сам по себе проигрывать видео – но позволяет легко создать приложение, способное воспроизводить видео-контент). Яркий пример такого подхода – youtube.com . Попытаюсь рассказать о том, как самостоятельно организовать трансляции флэш-видео на своей веб-странице и какие существуют подходы к этой проблеме.


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

1. О формате FLV

Итак, flash-player воспроизводит видео в формате FLV, других форматов не понимает.
Подробнее о самом формате можно почитать, например, здесь: en.wikipedia.org/wiki/FLV , а также, само собой, на сайте компании Adobe – производителя flash-player . В рамках данного доклада нам не понадобятся детальные знания о формате, а те, что понадобятся, приведены ниже.
FLV-файл состоит из заголовка и собственно самого фильма.
Заголовок содержит определенную мета-информацию о фильме: продолжительность, размер, и т. д. и т. п. На самом деле, нас с вами в этой мета-информации заинтересует только одно обстоятельство – а именно то, что там содержатся данные о ключевых фреймах фильма (их позиции по временной и байтовой шкале). Сама мета-информация представляет собой произвольной вложенности ассоциативный массив, сериализованный в формат AMF, который является одним из принятых стандартов при разработке приложений на flash.
Примечание : для PHP существует несколько библиотек, позволяющих выполнять (де)сериализацию в/из AMF.

2. Как организовать трансляцию FLV-файлов на веб-страницах

Чтобы считать трансляцию успешной, нужно соблюсти два условия: сервер успешно показал контент, а клиент его не менее успешно посмотрел. Соответственно, необходимы две части приложения – сервер и клиент. В качестве клиента выступает flash -приложение, способное воспроизвести видео-поток с указанного URL. Подобных программ существует множество, и мы здесь не будем подробно на них останавливаться. Поговорим о серверной части. Итак, какие же есть возможные пути реализации?

2.1. Download - скачивание

Это самый простой путь. Он требует простейшего клиента, который просто запрашивает видео-поток по заданному URL и воспроизводит его.Серверу только и надо, что обработать HTTP-запрос и выдать соответствующий контент. Не нужно никакого специфического софта.
«Тогда к чему какие-то еще другие пути?» - такой вопрос сложно не задать. Однако, не все так гладко с этим способом… Дело в том, что если он отлично подходит для показа небольших видео-фрагментов, длиной до 2-3 минут, то фильмы подлиннее так показывать не годится: для того чтобы пользователь мог посмотреть какой-либо кусок фильма, необходимо, чтобы этот кусок уже закачался на его компьютер. Другими словами, находясь в начале фильма, мы не можем передвинуть «ползунок» таймера в конец и посмотреть финальные титры. Такой способ не дает также никаких возможностей для защиты видео-контента от скачивания.

2.2. Streaming – потоковое видео

Этот способ – пожалуй, наиболее продвинутый. Здесь есть возможность перемотки к произвольному месту в потоке, определенные механизмы защиты контента (если говорить откровенно, то эти механизмы всего лишь затрудняют получение контента, являясь, по сути, защитой только от неумелого взломщика). Также полезная возможность – организация «живых» видео-трансляций. Если вам необходимы живые трансляции – нужно стримить, другого выхода у вас нет.
Что ж, возникает тот же вопрос, что и с предыдущим способом: «если стриминг так хорошо, то к чему какие-то еще другие пути?». Стриминг хорош, но не каждому по карману. За медиа-сервер (например, «Flash Media Server») придется выложить кругленькую сумму. Впрочем, имеются и опенсорс решения, например, ffserver (который, однако, не вполне подпадает под тему доклада, поскольку не умеет стримить файлы), а также Red5 , который написан на Java и поэтому также подойдет не для всех.

2.3. HTTP-streaming (эмуляция потокового видео через HTTP)

Из названия можно сделать догадку о том, что третий способ является комбинацией первых двух. В каком-то приближении можно считать, что это так и есть. Как мы уже отмечали, большим недостатком 1-го способа (download) является невозможность перемотки в произвольное место фильма. В HTTP-streaming эта проблема решается так: при перемотке в то место, которое еще не успело скачаться на машину пользователя, текущее скачаивание прекращается и на сервер отправляется новый запрос, содержащий указатель на то, с какого места в фильме нужно начать скачивание. Здесь есть определенные тонкости, которые мы подробнее обсудим в следующей главе. Что же касается преимуществ и недостатков такого подхода… На мой взгляд, для трансляции файлов – это лучший вариант. Он достаточно прост для того, чтобы реализовать его на любом языке (скриптовом, как PHP или Ruby – или же компилируемом, как C), так что вы можете решать, что использовать, исходя из требований к скорости разработки, скорости работы результирующего приложения, имеющегося ПО и прочая, прочая. Также для таких распространенных быстрых веб-серверов как Nginx и Lighttpd имеются готовые модули для трансляции FLV-файлов, написанные на C и работающие весьма шустро.
На этом способе я и остановлюсь немного подробнее…

3.Http-streaming

Итак, рассмотрим подробнее вариант трансляции флэш-видео с помощью Http-streaming. Как иы уже говорили, для того чтобы проиграть фильм с произвольного места, клиент отправляет на сервер HTTP-запрос, содержащий «координату» места, с которого следует выдавать видео-поток. ну, например: localhost/flv/film.php?start=XXXXX . Что представляет собой эта координата? Это всего лишь номер байта, с которого начинается нужный фрейм. К слову сказать, начинать проигрывание FLV-файла нужно всегда с ключевого фрейма.
«Однако, позвольте! Откуда же клиенту известен этот номер байта, с которого начинается фрейм? да еще обязательно ключевой?»
Отвечаю. Помните, в начале, когда я в двух словах рассказал о том, из чего состоит файл FLV, я упомянул о мета-информации, которая содержится в заголовке? В этой мета-информации содержатся данные о ключевых фреймах фильма (их позиции по временной и байтовой шкале). Таким образом, клиент всегда может найти ближайший ключевой фрейм к той позиции в потоке, которую запросил пользователь – и перевести ее в байты, каковые и передать на сервер.
А что же сервер? Ну, собственно, его задача теперь минимальна: обработать запрос, считать значение параметра (в нашем случае это переменная $_GET["start"]), и выдать требуемый видео-файл, начиная с запрошенного байта. Все обстоит почти так. Почти, но не совсем. FLV-файл обязательно должен содержать заголовок. Если запрошенный пользователем байт не нулевой, то перед тем как выдать содержимое файла, начиная с этого байта, нужно вставить минимально возможный заголовок (честно говоря, я не разбирался подробно, что он из себя представляет, но догадываюсь, что это пустой массив или объект, сериализованный в AMF и предваренный символами «FLV»).

3.1. Готовые решения: lighttpd , nginx+http_flv_module , flv4php .

Поддержка Http-streaming осуществлена в популярных веб-серверах lighttpd и nginx . В случае использования этих решений, вам всего лишь нужно положить FLV-файлы в место, доступное веб-серверу, все остальное – дело сервера и клиента, никакого программного кода для серверной части писать не придется. Клиент же должен будет запрашивать FLV-файлы, добавляя к URL"у GET-параметр «start», например, local-nginx/sample.flv?start=12345 .
Существует также бесплатное решение (возможно, их и больше) на основе PHP - flv4php . Его большой плюс – в том, что в этом проекте имеется готовый плеер – клиент для HTTP-streaming. Минус – в том, что это решение довольно тяжеловесное, и, по данным моих тестов на своей рабочей машине, сильно нагружает процессор (странное явление, адекватного объяснения которому мы не нашли, однако, от греха подальше, поспешили отказаться от использования серверной части flv4php и ограничились тем, что позаимствовали у них плеер, который после модификации под наши нужды стал служить нам верой и правдой). Еще один недостаток – в качестве «тумбы» (картинка, которую пользователь видит при открытии страницы на экране плеера) используется первый фрейм фильма, и это поведение не кастомизируется. Допускаю мысль о том, что flv4php можно настроить и лучшим образом, и заставить его таки делать то, что нужно, и без диких нагрузок на процессор. И тем не менее, небольшой фрагмент PHP-кода, приведенный ниже, делает практически то же самое, что flv4php – и гарантированно с хорошей производительностью:)

3.2. Сделай сам или все только кажется сложным.

$start = (int) filter_input(INPUT_GET, "position", FILTER_VALIDATE_INT);
if ($start < 0) die("Incorrect request");
// open file for reading
$fp = fopen("sample.flv", "r");
$fsize = filesize($file);
if ($start > 0)
{
// seek to requested position
fseek($fp, $start);
// FLV header for the movie part. Magic. Trust me ;)
// Header code is completely taken from flv4php project
$header = "FLV" . pack("C", 1) . pack("C", 5) . pack("N", 9) . pack("N", 9);
header("Content-Length: " . (strlen($header) + $fsize - $start));
echo $header;
} else {
header("Content-Length: " . $fsize);
}
while(!feof($fp)) {
print(fread($fp, 1024));
}
fclose($fp);

Как видите, все предельно просто, думаю, пояснения излишни.

4.Преобразование в FLV из других форматов. Основы ffmpeg & mencoder . Мета-информация и как ее впихнуть в FLV-файл.

Уфф, практически, мы закончили. В этой главе я немного расскажу о том, как перевести видео-контент в формат FLV и как запихнуть в готовые фильмы мета-информацию, которая необходима для осуществления HTTP-streaming. Я не буду останавливаться на ПО, доступном под MS Windows, вместо этого сосредоточусь на *nix-решениях (не секрет, что большинство веб-проектов работают на серверах под управлением *nix/Linux/FreeBSD, и эта информация может оказаться полезной).
Самые известные и мощные проекты – ffmpeg и mencoder . И та, и другая программы работают с большинством известных на сегодняшний день видео-форматов, имеют обширную базу кодеков и/или возможность подключения пользовательских кодеков. Обе работают с хорошей скоростью (впрочем, вы понимаете, что обработка видео – дело неблагодарное и отнимает много ресурсов и времени).
Чтобы перевести имеющийся фильм в формат FLV, нужно выполнить примерно следующие команды:
ffmpeg :
$ ffmpeg -i sample.avi sample.flv
(см. документацию к ffmpeg -

Расширение файла .php
Категория файлов
Файл-пример (2,58 KiB)
Связанные программы Adobe Dreamweaver CC 2015
Eclipse PHP Development Tools
Zend Studio
MPSoftware phpDesigner
ES-Computing EditPlus
Blumentals WeBuilder
Notepad++
WampServer
Web browsers