Работа с txt файлами php: Работа с файлами на php: открытие, запись, чтение
PHP: Файловая система — Manual
Change language:
EnglishBrazilian PortugueseChinese (Simplified)FrenchGermanJapaneseRomanianRussianSpanishTurkishOther
- Введение
- Установка и настройка
- Предопределенные константы
- Функции файловой системы
- basename — Возвращает последний компонент имени из указанного пути
- chgrp — Изменяет группу файла
- chmod — Изменяет режим доступа к файлу
- chown — Изменяет владельца файла
- clearstatcache — Очищает кеш состояния файлов
- copy — Копирует файл
- delete — См. описание функции unlink или unset
- dirname — Возвращает имя родительского каталога из указанного пути
- disk_free_space — Возвращает размер доступного пространства в каталоге или файловой системе
- disk_total_space — Возвращает общий размер файловой системы или раздела диска
- diskfreespace — Псевдоним disk_free_space
- fclose — Закрывает открытый дескриптор файла
- feof — Проверяет, достигнут ли конец файла
- fflush — Сбрасывает буфер вывода в файл
- fgetc — Считывает символ из файла
- fgetcsv — Читает строку из файла и производит разбор данных CSV
- fgets — Читает строку из файла
- fgetss — Читает строку из файла и удаляет HTML-теги
- file_exists — Проверяет существование указанного файла или каталога
- file_get_contents — Читает содержимое файла в строку
- file_put_contents — Пишет данные в файл
- file — Читает содержимое файла и помещает его в массив
- fileatime — Возвращает время последнего доступа к файлу
- filectime — Возвращает время изменения индексного дескриптора файла
- filegroup — Получает идентификатор группы файла
- fileinode — Возвращает индексный дескриптор файла
- filemtime — Возвращает время последнего изменения файла
- fileowner — Возвращает идентификатор владельца файла
- fileperms — Возвращает информацию о правах на файл
- filesize — Возвращает размер файла
- filetype — Возвращает тип файла
- flock — Портируемая консультативная блокировка файлов
- fnmatch — Проверяет совпадение имени файла с шаблоном
- fopen — Открывает файл или URL
- fpassthru — Выводит все оставшиеся данные из файлового указателя
- fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель
- fputs — Псевдоним fwrite
- fread — Бинарно-безопасное чтение файла
- fscanf — Обрабатывает данные из файла в соответствии с форматом
- fseek — Устанавливает смещение в файловом указателе
- fstat — Получает информацию о файле, используя открытый файловый указатель
- ftell — Возвращает текущую позицию указателя чтения/записи файла
- ftruncate — Урезает файл до указанной длины
- fwrite — Бинарно-безопасная запись в файл
- glob — Находит файловые пути, совпадающие с шаблоном
- is_dir — Определяет, является ли имя файла директорией
- is_executable — Определяет, является ли файл исполняемым
- is_file — Определяет, является ли файл обычным файлом
- is_link — Определяет, является ли файл символической ссылкой
- is_readable — Определяет существование файла и доступен ли он для чтения
- is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST
- is_writable — Определяет, доступен ли файл для записи
- is_writeable — Псевдоним is_writable
- lchgrp — Изменяет группу, которой принадлежит символическая ссылка
- lchown — Изменяет владельца символической ссылки
- link — Создаёт жёсткую ссылку
- linkinfo — Возвращает информацию о ссылке
- lstat — Возвращает информацию о файле или символической ссылке
- mkdir — Создаёт директорию
- move_uploaded_file — Перемещает загруженный файл в новое место
- parse_ini_file — Обрабатывает конфигурационный файл
- parse_ini_string — Разбирает строку конфигурации
- pathinfo — Возвращает информацию о пути к файлу
- pclose — Закрывает файловый указатель процесса
- popen — Открывает файловый указатель процесса
- readfile — Выводит файл
- readlink — Возвращает файл, на который указывает символическая ссылка
- realpath_cache_get — Получает записи из кеша realpath
- realpath_cache_size — Получает размер кеша realpath
- realpath — Возвращает канонизированный абсолютный путь к файлу
- rename — Переименовывает файл или директорию
- rewind — Сбрасывает курсор файлового указателя
- rmdir — Удаляет директорию
- set_file_buffer — Псевдоним stream_set_write_buffer
- stat — Возвращает информацию о файле
- symlink — Создаёт символическую ссылку
- tempnam — Создаёт файл с уникальным именем
- tmpfile — Создаёт временный файл
- touch — Устанавливает время доступа и модификации файла
- umask — Изменяет текущую umask
- unlink — Удаляет файл
There are no user contributed notes for this page.
Php чтение txt файла — Вэб-шпаргалка для интернет предпринимателей!
Как и большинство языков программирования, PHP поддерживает работу с файлами, которые являются одним из способов хранения информации.
Чтение и запись файлов
Открытие и закрытие файлов
Для открытия файлов в PHP определена функция fopen() . Она имеет следующее определение: resource fopen(string $filename, string $mode) . Первый параметр $filename представляет путь к файлу, а второй — режим открытия. В зависимости от цели открытия и типа файла данный параметр может принимать следующие значения:
‘r’ : файл открывается только для чтения. Если файла не существует, возвращает false
‘r+’ : файл открывается только для чтения с возможностью записи. Если файла не существует, возвращает false
‘w’ : файл открывается для записи. Если такой файл уже существует, то он перезаписывается, если нет — то он создается
‘w+’ : файл открывается для записи с возможностью чтения. Если такой файл уже существует, то он перезаписывается, если нет — то он создается
‘a’ : файл открывается для записи. Если такой файл уже существует, то данные записываются в конец файла, а старые данные остаются. Если файл не существует, то он создается
‘a+’ : файл открывается для чтения и записи. Если файл уже существует, то данные дозаписываются в конец файла. Если файла нет, то он создается
Результатом функции fopen будет дескриптор файла. Этот дескриптор используется для операций с файлом и для его закрытия.
После окончания работы файл надо закрыть с помощью функции fclose() , которая принимает в качестве параметра дескриптор файла. Например, откроем и закроем файл:
Конструкция or die(«текст ошибки») позволяет прекратить работу скрипта и вывесте некоторое сообщение об ошибке, если функция fopen не смогла открыть файл.
Чтение файла
Для чтения файла можно использовать несколько функций. Для построчного чтения используется функция fgets() , которая получает дескриптор файла и возвращает одну считанную строку. Пройдем построчно по всему файлу:
При каждом вызове fgets() PHP будет помещать указатель в конец считанной строки. Чтобы проследить окончание файла, используется функция feof() , которая возвращает true при завершении файла. И пока не будет достигнут конец файла, мы можем применять функцию fgets().
Чтение файла полностью
Если нам надо прочитать файл полностью, то мы можем облегчить себе жизнь, применив функцию file_get_contents() :
При этом нам не надо открывать явно файл, получать дескриптор, а затем закрывать файл.
Поблочное считывание
Также можно провести поблочное считывание, то есть считывать определенное количество байт из файла с помощью функции fread() :
Функция fread() принимает два параметра: дескриптор считываемого файла и количество считываемых байтов. При считывании блока указатель в файле становится в конец этого блока. И также с помощью функции feof() можно отследить завершение файла.
Запись файла
Для записи файла применяется функция fwrite() , которая записывает в файл строку:
Аналогично работает другая функция fputs() :
Работа с указателем файла
При открытии файла для чтения или записи в режиме ‘w’, указатель в файле помещается в начало. При считывании данных PHP перемещает указатель в файле в конец блока считанных данных. Однако мы также вручную можем управлять указателем в файле и устанавливать его в произвольное место. Для этого надо использовать функцию fseek, которая имеет следующее формальное определение:
Параметр $handle представляет дескриптор файла. Параметр $offset — смещение в байтах относительно начала файла, с которого начнется считывание/запись. Третий необязательный параметр задает способ установки смещения. Он может принимать три значения:
SEEK_SET : значение по умолчанию, устанавливает смещение в offset байт относительно начала файла
SEEK_CUR : устанавливает смещение в offset байт относительно начала текущей позиции в файле
SEEK_END : устанавливает смещение в offset байт от конца файла
В случае удачной установки указателя функция fseek() возвращает 0, а при неудачной установке возвращает -1.
На самом деле, чем открыть php файл, не является большой проблемой. Бывает труднее открыть бутылку пива, когда находишься посреди леса. Но так думают лишь заядлые программисты. А для новичков поведаем обо всех возможностях php для работы с файлами:
Файлы php
Файлы с расширением php содержат в себе код написанный, на одноименном языке программирования. В отличие от других языков, php является серверным языком программирования. То есть он выполняется на стороне сервера. Поэтому для отладки его кода на клиентской машине должен быть установлен локальный сервер.
Для работы с файлами php используются специальные приложения – программные редакторы. Наиболее распространенными из них являются:
- Dreamweaver.
- PHPEdit.
- Eclipse PHP Development.
При создании сайтов на основе php может потребоваться многократное использование программного кода. В таких ситуациях удобно подключать уже готовые решения, находящиеся в другом файле. Для этого используется конструкция include . Ее синтаксис:
Подключение файла также возможно с помощью конструкции require . В отличие от include она подключает файл еще до выполнения программного кода. С помощью require в коде возможно лишь одно обращение к этому файлу. При повторном обращении система выдаст сообщение о глобальной ошибке и остановит выполнение программы.
Конструкция include подключает источник лишь во время выполнения программы. Она поддерживает множественное чтение файла php . При возникновении ошибки будет выведено лишь предупреждающее сообщение, а исполнение кода продолжится со следующей строчки.
Открытие и закрытие файлов
В php все операции с файлами осуществляются в несколько этапов:
- Открытие файла;
- Редактирование содержимого;
- Закрытие файла.
Для открытия файла используется функция fopen() . Ее синтаксис:
- string filename – имя файла или абсолютный путь к нему. Если путь к файлу не будет указан, то будет произведен его поиск в текущем каталоге. При отсутствии искомого файла система выведет сообщение об ошибке. Пример:
- string mode – указывает режим открытия файла. Принимаемые аргументом значения:
- r – файл открыт только для чтения, файловый указатель устанавливается в начале;
- r+ – файл открыт для чтения и записи;
- w – создается новый файл только для записи. Если файл с таким именем уже существует, в нем происходит автоматическое удаление всех данных;
- w+ — создается новый файл для записи и чтения. При существовании такого файла происходит полная перезапись его данных на новые;
- a – файл открыт для записи. Указатель устанавливается в конце. То есть запись в файл php начнется не с начала, а с конца;
- a+ – открытие файла в режиме чтения и записи. Запись начнется с конца;
- b – режим работы с файлом, содержащим в себе двоичные данные (в двоичной системе исчисления). Этот режим доступен только в операционной системе Windows.
Для закрытия доступа к файлу служит функция fclose () . Синтаксис:
int fclose (int file) , где int file – дескриптор сайта, который нужно закрыть.
Чтение и запись файлов
Для простого отображения всего содержимого файла идеально подходит функция readfile () . Ее синтаксис:
readfile (string filename) , где string filename – строковое имя фала ( не дескриптор ).
Тот же самый файл можно прочитать с помощью функции fpassthru () . Она считывает данные от конечной позиции указателя и до конца файла. Ее синтаксис:
Для работы с функцией требуется открытие и закрытие файла. Пример:
Результат аналогичен предыдущему.
Функции для работы с файлами в php позволяют считывать содержимое построчно и посимвольно:
- string fgets ( int file, int length) – функция считывает строку длиною length . Пример:
- string fread (int file, int length) – по действию идентична предыдущей.
Для записи текстовых данных в файл существует две идентичные функции:
- int fputs ( int file, string string [, int length ])
- int fwrite ( int file, string string [, int length ])
Функции записывают в файл int file строку string string указанной длины int length ( необязательный аргумент ). Пример:
Создание и удаление файлов
Чтобы создать файл php , можно использовать функцию fopen() в режиме доступа « w » или « w+ ». Или функцию touch () . Она устанавливает время изменения файла. При отсутствии элемента с искомым именем он будет создан. Ее синтаксис:
Для создания копии файла используется функция copy() . В качестве аргументов она принимает имя оригинала и файла, куда нужно скопировать содержимое. Если он не существует, то будет создан. Синтаксис функции:
Удалить файл можно с помощью функции unlink() . Ее синтаксис:
Получение информации о файле
Для получения информации о файлах в php используется целый ряд функций:
- bool fileexists (string filename) – проверяет, существует ли элемент;
- int fileatime (string filename) – возвращает время последнего открытия;
- int filesize (string filename) – возвращает байтовый размер файла;
- string filetype (string filename) – тип файла.
Это еще не все возможности для работы с файлами, реализованные в php . Многие из методов и функций остались за кадром. Так что простор для самостоятельного познания еще велик.
Об использовании функций fopen, fclose, feof, fgets, fgetss, и fscanf
Давайте перечислим все возможности
Одним из преимуществ работы с современными языками программирования, такими как PHP, является количество доступных возможностей. PHP легко мог бы присвоить девиз языка Perl, «Существует несколько способов сделать что-либо», особенно, когда речь идет об обработке файлов. Но при изобилии доступных средств, возникает вопрос, какое из них лучше для выполнения работы. Конечно, в действительности, ответ на этот вопрос зависит от того, какие цели вы ставите при обработке файла, поэтому изучение всех возможностей языка стоит потраченного времени.
Традиционные методы fopen
Методы fopen , возможно, лучше других знакомы программистам C и C++ былых времен, поскольку в большей или меньшей степени являются именно теми инструментами, которые на протяжении долгих лет были всегда у вас под рукой, если вы работали с этими языками программирования. Для любого из этих методов вы выполняете стандартную процедуру, используя fopen для открытия файла, функцию для чтения данных, а затем fclose для закрытия файла, как показано в Листинге 1.
Листинг 1. Открытие и чтение файла с помощью fgets
Хотя эти функции знакомы большинству опытных программистов, позвольте мне проанализировать их работу. В действительности вы выполняете следующие шаги:
- Открываете файл. $file_handle хранит ссылку на сам файл.
- Проверяете, не достигли ли вы конца файла.
- Продолжаете считывание файла, пока не достигнете конца, печатая каждую строку, которую читаете.
- Закрываете файл.
Помня об этом, я рассмотрю каждую использованную здесь функцию для работы с файлами.
Функция fopen
Функция fopen устанавливает связь с файлом. Я говорю «устанавливает связь, » поскольку, кроме открытия файла, fopen может открыть и URL:
Это строка программы создает связь с вышеуказанной страницей и позволяет вам начать ее чтение как локального файла.
Примечание: Параметр «r» , использованный в fopen , указывает на то, что файл открыт только для чтения. Поскольку запись в файл не входит в круг вопросов, рассматриваемых в данной статье, я не стану перечислять все возможные значения параметра. Тем не менее, вам необходимо изменить «r» на «rb» если вы производите чтение из двоичных файлов для межплатформенной совместимости. Ниже будет приведен пример данного типа.
Функция feof
Команда feof определяет, произведено ли чтение до конца файла, и возвращает значение True (Истина) или False (Ложь). Цикл, приведенный в Листинге 1 продолжается, пока не будет достигнут конец файла «myfile.» Обратите внимание, что feof также возвращает False, если вы читаете URL и произошло превышение времени ожидания подключения, поскольку не имеется более данных для считывания.
Функция fclose
Пропустим середину Листинга 1 и перейдем в конец; fclose выполняет задачу, противоположную fopen : она закрывает подключение к файлу или URL. После выполнения данной функции вы больше не сможете выполнять чтение из файла или сокета.
Функция fgets
Возвращаясь на несколько строк назад в Листинге 1, вы попадаете в самый центр процесса обработки файлов: непосредственно чтение файла. Функция fgets — это выбранное вами «оружие» для первого примера. Она захватывает строчку данных из файла и возвращает ее как строку. Оттуда вы можете выводить данные или обрабатывать их иным образом. В примере, приведенном в Листинге 1, распечатывается весь файл целиком.
Если вы решите ограничить размер порции данных, с которой работаете, можно добавить fgets аргумент для ограничения максимальной длины строки захватываемых данных. Например, используйте следующий программный код для ограничения длины строки в 80 символов:
Вспомните «
Файл формата php: чем открыть, описание, особенности
Файлы такого формата содержат в себе язык программирования php. Открыть php файл можно специальным П…
Файлы такого формата содержат в себе язык программирования php. Открыть php файл можно специальным ПО, либо в окне браузера. Помимо файлов для программирования сайтов есть три разновидности php-расширения, которые применяются в отдельных нераспространенных сервисах. Это слайд-шоу программы Callisto PhotoParade, рабочий файл CreataCard, содержащий автосохранения и файл издательской программы Microsoft Picture It! Они не так распространены, поэтому вероятность встретить их невелика. Как открыть php файл для веб-программирования, расскажем ниже.
Общее описание формата PHP
Язык программирования PHP в 1995 году разработал датский программист Расмус Релдорф. Спустя два года после выхода первой версии Релдорф выпустил улучшенный вариант. Его стал использовать каждый сотый домен в интернете. В 1998 году документ переделали израильские программисты, которые в дальнейшем продолжили заниматься проектом. Их версия получила название PHP 3.0. На сегодняшний день используется 7.0.0 версия, выпущенная в 2015 году. Язык PHP находится на 6 месте по популярности, на нем написаны интернет-гиганты Facebook и Wikipedia.
У расширения язык без конкретного назначения. Он наиболее распространен при разработке веб-приложений и динамических сайтов. Своей популярностью язык обязан широким выбором встроенных и внешних инструментов для разработки, совместимости с системами управления баз через дополнительные модули, взаимодействию с куками и сессиями и так далее.
У формата открытый исходный код на сервере. Сайты на таком движке анализируют php-файлы, создают html страницу и отправляют в браузер . В итоге, при просмотре исходного кода пользователь не видит php-код.
Как и чем открыть файл php расширения
Файл php открыть не так просто, как html. Есть два способа: программный и браузерный. В двух случаях нужен интерпретатор, либо специальное ПО, причем важно отметить, что запустить php и открыть – не одно и то же.
Открыть php в браузере
Чтобы понять, как открыть файл php в браузере, важно понять отличие php от html. Последний открывается на стороне клиента – то есть в браузере, а php – на сервере. Чтобы запустить php, нужно либо приобрести домен и работать с php на нем, либо установить локальный сервер на компьютере. Последний способ предпочтительнее, поскольку бесплатный и позволяет создавать безграничное количество сайтов, которые хранятся на вашем ПК.
Есть три основных вида локальных серверов:
После установки локального сервера на компьютере необходимо создать сайт.
Затем в папке сервера необходимо найти папку под названием «home», в ней создаете еще одну и называете ее как домен будущего сайта. Далее создаем еще одну папку и называем «www», в нее перетаскиваем нужные документы.
Далее запускаем браузер и в адресной строке пишем название сайта/название файла php. После нажатия на «Enter», php запускается в виде приложения, а не текстового кода. Это позволяет тестировать интерактивные возможности получившейся страницы.
Открыть php на компьютере
Способов, чем открыть файл php на компьютере достаточно много. Так как они открываются в текстовом формате, специализированные редакторы программного кода смогут работать с php.
Чем открыть php:
- Notepad++ — редактор, работающий на Linux и Windows;
- Eclipse PHP Development Tools – специализированная программная среда для веб-разработок на PHP;
- MPSoftware phpDesigner – аналогичная программа, не распространенная в русскоязычном сегменте;
- Apache Web Server – свободный сервер для разработок, совместим с Windows, Mac OS, Linux;
- WampServer – комплект ПО для работы с php;
- Adobe Dreamweaver CC – программа для веб-дизайна, поддерживающая в том числе язык PHP;
- Стандартный текстовый редактор.
Некоторые программы из перечисленных работают только на Windows, поэтому в случае использования на других ОС проверьте совместимость перед установкой.
PHP. Работа с файлами и каталогами
PHP. Работа с файлами и каталогами li { font-size:1.06rem; }
}.sidebar .widget { padding-left: 20px; padding-right: 20px; padding-top: 20px; }::selection { background-color: #4f4f4f; }
::-moz-selection { background-color: #4f4f4f; }a,.themeform label .required,#flexslider-featured .flex-direction-nav .flex-next:hover,#flexslider-featured .flex-direction-nav .flex-prev:hover,.post-hover:hover .post-title a,.post-title a:hover,.sidebar.s1 .post-nav li a:hover i,.content .post-nav li a:hover i,.post-related a:hover,.sidebar.s1 .widget_rss ul li a,#footer .widget_rss ul li a,.sidebar.s1 .widget_calendar a,#footer .widget_calendar a,.sidebar.s1 .alx-tab .tab-item-category a,.sidebar.s1 .alx-posts .post-item-category a,.sidebar.s1 .alx-tab li:hover .tab-item-title a,.sidebar.s1 .alx-tab li:hover .tab-item-comment a,.sidebar.s1 .alx-posts li:hover .post-item-title a,#footer .alx-tab .tab-item-category a,#footer .alx-posts .post-item-category a,#footer .alx-tab li:hover .tab-item-title a,#footer .alx-tab li:hover .tab-item-comment a,#footer .alx-posts li:hover .post-item-title a,.comment-tabs li.active a,.comment-awaiting-moderation,.child-menu a:hover,.child-menu .current_page_item > a,.wp-pagenavi a,.entry.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color: #4f4f4f; }.themeform input[type=»submit»],.themeform button[type=»submit»],.sidebar.s1 .sidebar-top,.sidebar.s1 .sidebar-toggle,#flexslider-featured .flex-control-nav li a.flex-active,.post-tags a:hover,.sidebar.s1 .widget_calendar caption,#footer .widget_calendar caption,.author-bio .bio-avatar:after,.commentlist li.bypostauthor > .comment-body:after,.commentlist li.comment-author-admin > .comment-body:after,.themeform .woocommerce #respond input#submit.alt,.themeform .woocommerce a.button.alt,.themeform .woocommerce button.button.alt,.themeform .woocommerce input.button.alt{ background-color: #4f4f4f; }.post-format .format-container { border-color: #4f4f4f; }.sidebar.s1 .alx-tabs-nav li.active a,#footer .alx-tabs-nav li.active a,.comment-tabs li.active a,.wp-pagenavi a:hover,.wp-pagenavi a:active,.wp-pagenavi span.current,.entry.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ border-bottom-color: #4f4f4f!important; }
.search-expand,
#nav-topbar.nav-container { background-color: #282828}@media only screen and (min-width: 720px) {
#nav-topbar .nav ul { background-color: #282828; }
} #header { background-color: #dddddd; }
@media only screen and (min-width: 720px) {
#nav-header .nav ul { background-color: #dddddd; }
]]>
Web-разработка • PHP и MySQL
Зачастую бывает необходимость в том, чтобы сайт умел отдавать файлы не просто на скачивание, а поддерживать возможность скачивания в несколько потоков и докачки файла в случае обрыва соединения.
Для начала попробуем просто отдать файл браузеру:
<?php header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($filename).'"'); readfile($filename); ?>
В этом примере мы сформировали два заголовка для браузера, первый из которых сообщает ему о типе содержимого (в данном случае — поток каких-то байтов), а второй заставляет его выдать нам окно с именем файла для его сохранения на локальном диске.
С поддержкой докачки
Заголовок Accept-Ranges: bytes, отправленный сервером, сообщает клиенту о том, что он может запрашивать данные с сервера фрагментами, указывая их смещение в байтах.
Зная эту возможность, браузер может передать серверу смещение в байтах, с которого необходимо начать передачу файла. Для этого браузер посылает заголовок Range:
Range: bytes=500-
где 500 — смещение в байтах от начала файла.
Сервер в свою очередь устанавливает переменную окружения HTTP_RANGE и должен отправить заголовок
HTTP/1.1 206 Partial Content
который дает клиенту понять, что отдается часть контента. Далее сервер должен отдать клиенту ту часть контента, которую тот запрашивал с соответствующими заголовками:
Content-Type: application/octet-stream Content-Disposition: attachment; filename="имя_файла" Last-Modified: время_модификации_файла Accept-Ranges: bytes Content-Length: длина_отдаваемой_части Content-Range: bytes от-до/размер
Поясню последний заголовок на примере: имеем файл размером 10000 байт, отдаем все, кроме первых 500 байт. Тогда заголовок будет выглядеть так:
Content-Range: bytes 500-9999/10000
<?php // если файла нет if (!file_exists($filename)) { header ('HTTP/1.0 404 Not Found'); exit; } // получим размер файла $fsize = filesize($filename); // дата модификации файла для кеширования $ftime = date("D, d M Y H:i:s T", filemtime($filename)); // смещение от начала файла $range = 0; // пробуем открыть $handle = @fopen($filename, "rb"); // если не удалось if (!$handle){ header ('HTTP/1.0 403 Forbidden'); exit; } // если запрашивающий агент поддерживает докачку if ( isset($_SERVER['HTTP_RANGE']) ) { $range = $_SERVER['HTTP_RANGE']; $range = str_replace('bytes=', '', $range); $range = str_replace('-', '', $range); // смещаемся по файлу на нужное смещение if ($range) fseek($handle, $range); } // если есть смещение if ($range) { header('HTTP/1.1 206 Partial Content'); } else { header('HTTP/1.1 200 OK'); } header('Content-Disposition: attachment; filename="'.basename($filename).'"'); header('Content-Type: application/octet-stream'); header('Last-Modified: '.$ftime); header('Accept-Ranges: bytes'); header('Content-Length: '.($fsize - $range)); header('Content-Range: bytes '.$range.'-'.($fsize - 1).'/'.$fsize); fpassthru($handle); fclose($handle); ?>
В несколько потоков
Если клиент скачивает в несколько потоков, он будет отправлять нам заголовки вида (для файла длиной 10000 байт):
- Range: bytes=0-499 — первые 500 байт
- Range: bytes=500-999 — вторые 500 байт
- Range: bytes=-500 или Range: bytes=9500- — последние 500 байт
- Range: bytes=500- или Range: bytes=-9500 — все, кроме первых 500 байт
- Range: bytes=0-0 — только первый байт
а мы должны отвечать так
- Content-Range: bytes 0-499/10000 — отдаем первые 500 байт
- Content-Range: bytes 500-999/10000 — отдаем вторые 500 байт
- Content-Range: bytes 9500-9999/10000 — отдаем последние 500 байт
- Content-Range: bytes 500-9999/10000 — отдаем все, кроме первых 500 байт
- Content-Range: bytes 0-0/10000 — отдаем только первый байт
<?php // если файла нет if (!file_exists($filename)) { header ('HTTP/1.0 404 Not Found'); exit; } // получим размер файла $fsize = filesize($filename); // дата модификации файла для кеширования $ftime = date("D, d M Y H:i:s T", filemtime($filename)); // пробуем открыть $handle = @fopen($filename, "rb"); // если не удалось if (!$handle){ header ('HTTP/1.0 403 Forbidden'); exit; } // если запрашивающий агент поддерживает докачку if ( isset($_SERVER['HTTP_RANGE']) ) { $range = $_SERVER['HTTP_RANGE']; $range = str_replace( 'bytes=', '', $range ); $range = explode( '-', $range ); if ( $range[0]=='0' && $range[1]=='0' ) { // если bytes=0-0 $start = $stop = 0; } elseif ( !strlen( $range[0] ) ) { // если bytes=-500 $start = $fsize - (int)$range[1]; $stop = $fsize - 1; } else { // если bytes=500-999 или bytes=500- $stop = (int)$range[1]; if ( !$stop ) $stop = $fsize - 1; // bytes=500- $start = (int)$range[0]; if ( $start ) fseek( $fd, $start ); } $length = $stop - $start + 1; header('HTTP/1.1 206 Partial Content'); header('Content-Disposition: attachment; filename="'.basename($filename).'"'); header('Content-Type: application/octet-stream'); header('Last-Modified: '.$ftime); header('Accept-Ranges: bytes'); header('Content-Length: ' . $length); header('Content-Range: bytes '.$start.'-'.$stop.'/'.$fsize); echo fread($handle, $length); } else { // запрашивающий агент не поддерживает докачку header('HTTP/1.1 200 OK' ); header('Content-Disposition: attachment; filename="'.basename($filename).'"'); header('Content-Type: application/octet-stream'); header('Last-Modified: '.$ftime); header('Accept-Ranges: bytes'); header('Content-Length: '.$fsize); fpassthru($handle); } fclose($handle); ?>
P.S. Этот код неполон, поскольку не обрабатывает мультидиапазонные запросы, когда клиент требует от сервера сразу несколько фрагментов:
Range: bytes=0-499,500-999,1000-1499
Поиск:
$_SERVER • 206 • Accept-Ranges • Content • Content-Range • HTTP • HTTP_RANGE • PHP • Partial • Range • Web-разработка • bytes • Файл
просмотр PHP файла программой-браузером, изменение редактором кода
Рассмотрим различные ситуации, связанные с расширением php. Вообще такой файл спокойно открывается в блокноте, но не всегда это будет информативно. Если это результат работы программиста на языке PHP, то получим исходный файл со скриптами, командами для исполнения. Если же скачивали вы что-то из интернета – фильм, музыку или веб-страницу – то тоже можете получить PHP файл.
Два способа открыть PHP документ
Попробуем открыть файл с расширением .php в первом случае (файл с кодом). Запустить или просмотреть результат выполнения файла без сервера невозможно. Но и это не является большой проблемой. Установить сервер вызовет затруднений даже у начинающих программистов. Инструкция:
- Устанавливаем на ПК пакет Денвер – локальный сервер и другие инструменты для удобной работы со скриптами на языке PHP в режиме офлайн, вообще без активного доступа к интернету. Его можно скачать c официального сборки.
- Затем берем наш файл, назовем его filename.php, и помещаем в папку веб-сервера.
- Открываем любой браузер и в строке вводим путь до файла.
- Наблюдаем результат выполнения кода.
Подробнее о втором и третьем пункте инструкции. Следуем в каталог “C:\WebServers\home”, здесь по-умолчанию расположена папка под названием “test”. Теперь по вашему усмотрению: можете выбрать эту папку, можете создать свою здесь же (например, 123). Переходим в папку и создаем еще одну под названием «www». Теперь уже в нее помещаем наш файл “filename.php”. Полный путь до файла будет следующим: “C:\WebServers\home\123(или test)\www\filename.php”.
Стоит обратить внимание на то, что обязательно нужно создать папку www, не следует пропускать этот пункт.
Запускаем Денвер при помощи кнопки Run. Должна появиться надпись в черном окне командной строки о том, что хост 123 (test) добавлен. Если в версии локального сервера нет иконок, то ищем их в “C:\WebServers\denwer\utils\”.
Далее переходим в браузер и в строку вбиваем следующую информацию: “http://123(test)/filename.php”. И выполняется четвертый пункт инструкции, все готово.
Не стоит менять настройки по умолчанию после установки Денвер, все и так отлажено и настроено, включены модули Magic, XLS, GD, XML, FDPF и другие.
Если вы не связаны с разработками программ и файл с расширением .php появился у вас после закачивания видеозаписей, музыки, то смело пробуем открыть его в Блокноте. Возможно, вам будет выдана ошибка. В таком случае отключаем менеджер загрузок и пробуем снова. В других случаях с большой вероятностью в браузере откроется сохраненная страница сайта, с которого вы начинали скачивать фильм/музыку и т.д. Т.е. вместо непосредственно загрузки контента вы сохранили на жесткий диск саму страницу.
Программы для работы с PHP файлами в разных ОС
Самым простым способом просмотреть php документ — это открыть его в Блокноте, как говорилось ранее.
В Windows php файл можно открыть в следующих программах:
- Блокнот;
- PHPEdit;
- Notepad++;
- Microsoft Wordpad;
- EditPlus;
- Любой текстовый редактор;
PhpEdit — профессиональная программа, при помощи которой можно не только открыть, но и создавать целые проекты на языке PHP.
Рекомендуем особое внимание уделить программе Notepad++, который весьма удобен в использовании, когда речь идет о редактировании исходных кодов программ и скриптов. Если открыть файл PHP в Notepad++, автоматически будет распознан и подсвечен синтаксис, есть возможность сворачивать и разворачивать блоки кода, удобный поиск и расширенный функционал замены на основе регулярных выражений – далеко не полный функционал полезных опций, которые предоставляет данный редактор.
В Mac открываем в:
- Bare Bones Software BBEdit;
- TextEdit;
- Eclipse PHP Development Tools;
- TextMate;
- Иной другой удобный для вас текстовый редактор.
В GNU/Linux:
- Gedit;
- BlueFish;
- Eclipse PHP Development Tools;
- Любой текстовый редактор.
Итак, мы рассмотрели несколько вариантов, как открыть файл с расширением PHP. В первом случае у вас будет возможность ознакомиться с результатом работы такого скрипта, второй подойдет для внесения правок и редактирования самого кода скрипта.
Работа с текстовыми файлами в PHP
Переполнение стека
- Около
Товары
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Онлайн-просмотрщик TXT | Бесплатные приложения GroupDocs
Вы также можете просматривать файлы многих других форматов.См. Полный список ниже.
IGS VIEWER (начальная спецификация обмена графикой (IGES))
ПРОСМОТР PST (файл хранилища личной информации Outlook)
PSB VIEWER (формат больших документов Adobe Photoshop)
PPTM VIEWER (презентация PowerPoint Open XML с поддержкой макросов)
POTX VIEWER (шаблон презентации PowerPoint Open XML)
POTM VIEWER (шаблон презентации PowerPoint Open XML с поддержкой макросов)
H VIEWER (файл заголовка C / C ++ / Objective-C)
M VIEWER (файл реализации Objective-C)
DOTM VIEWER (шаблон документа Word Open XML с поддержкой макросов)
Как создать текстовый файл
Обновлено: 03.09.2019, Computer Hope
Вы можете создать текстовый файл на своем компьютере с помощью текстового редактора.Примером текстового редактора является Блокнот, входящий в состав Microsoft Windows.
Заметка
Когда мы говорим о «текстовом файле», мы говорим о простом текстовом файле без какого-либо форматирования текста (например, полужирный), изображениях, различных шрифтах, размерах шрифтов и т. Д. Если вам нужно создать более насыщенный документ с любым из эти возможности см .: Как создать документ.
Наконечник
Приведенные ниже рекомендации относятся к программам, включенным в операционную систему. Вы также можете загрузить и установить более мощный и бесплатный текстовый редактор, такой как Notepad ++, для создания, просмотра и редактирования текстовых файлов.
Открыть и использовать Блокнот
Самый простой способ создать текстовый файл в Windows — открыть программу «Блокнот» на вашем компьютере. Блокнот — это текстовый редактор, входящий в состав Microsoft Windows.
Наконечник:
Текстовый файл считается файлом с открытым текстом, и Блокнот может только создавать и редактировать файлы с открытым текстом. Блокнот сохраняет любой текстовый файл с расширением .txt, что означает, что нельзя использовать специальное форматирование или шрифты.
Программа Windows Notepad может быть открыта любым из следующих способов.
- Щелкните Пуск .
- В поле Выполнить или Поиск введите Блокнот и нажмите Enter.
или
- Щелкните Пуск .
- Откройте Все программы , Стандартные , затем щелкните ярлык Блокнот .
Сохранить файл как текстовый файл
Вы также можете создать текстовый файл с помощью любого другого текстового редактора, например Microsoft Word или WordPad.При сохранении файла измените имя файла или , тип файла на Plain Text , чтобы сохранить его как текстовый файл. Во многих из этих программ у вас также будет возможность сохранить файл в формате Rich Text Format.
После того, как файл создан и сохранен, его также можно редактировать с помощью Блокнота или другого текстового редактора.
Создать новый текстовый файл с рабочего стола
Другой способ создать текстовый файл — щелкнуть правой кнопкой мыши на экране рабочего стола и в появившемся меню выбрать Новый , а затем нажать Текстовый документ .
Создание текстового файла таким образом открывает текстовый редактор по умолчанию с пустым текстовым файлом на рабочем столе. Вы можете изменить имя файла на любое другое. Вы можете редактировать файл в программе «Блокнот» или в любом другом текстовом редакторе, например Microsoft Word.
Наконечник
Эти же действия можно использовать в любом другом месте на вашем компьютере, например, в другой папке.
Создать текстовый файл из командной строки Windows
Находясь в командной строке Windows, вы также можете создать новый текстовый файл в текущем каталоге.В более ранних версиях Windows новый файл любого типа, включая текстовые файлы, можно было создать с помощью команды редактирования командной строки. В более поздних версиях Windows была удалена возможность использовать для этой цели команду редактирования. Вместо этого вы можете использовать команду echo в командной строке Windows, чтобы создать пустой текстовый файл в текущем каталоге. Пример использования этого показан ниже.
эхо.> Myfile.txt
В приведенном выше примере вы используете команду echo для создания файла с именем «myfile.txt «в текущем каталоге. Обратите внимание, что между echo , точкой, знаком» больше «(> ) и именем файла нет пробелов.
Другой вариант создания текстового файла из командной строки — использование команды start, как показано в примере ниже.
запустить блокнот myfile.txt
В этом примере вы используете команду start, чтобы открыть Блокнот с файлом «myfile.txt». Если этот файл не существует, он будет создан и сохранен в вашем текущем каталоге.Если бы файл действительно существовал, вы бы его редактировали.
Создать текстовый файл из оболочки Linux
Несколько команд могут создать текстовый файл в оболочке Linux. Одним из простых в использовании текстовых редакторов является pico. Вы можете использовать это так:
пико myfile.txt
После ввода вышеуказанной команды откроется редактор, который позволит вам создать текстовый файл. Когда закончите, нажмите Ctrl + X, чтобы выйти из файла. Когда будет предложено сохранить файл, если вы хотите сохранить файл, нажмите «Y» для подтверждения.
Наконечник
Расширение файла .txt не требуется в Linux. Это расширение файла, наиболее часто встречающееся и используемое в Windows. Если вам не нужно, чтобы файл открывался в Windows, вы можете не иметь расширения файла или переименовать его по своему усмотрению.
.