Голосование
Какую CMS Вы предпочитаете
AtomX
Fapos CMS
Drunya CMS
Топ новостей
- Генератор аватарок в стиле пиксель-арт
- Скачать Fapos CMS 1.1.8 Бесплатно
- Цунами в Японии. Последствия.
- Предварительная инфа о FAPOS 1.1.9. Часть 2
- Описание версии CMS Fapos 0.9.9
- Новая версия Fapos 1.3
- Половина россиян не смогла отличить легальный контент
- Что есть Fapos CMS
- Убийца Apache у вас на пороге
- Открытое тестирование Fapos 0.9.9
Последние комментарии
Топ пользователей
Сайты на AtomX CMS
Сегодня хотелось бы рассказать о том как работать с файлами для начинающих девелоперов. Работать с файлами на PHP довольно просто, если это не требует каких либо дополнительных движений, например блокировки файлов на чтение или чтение и запись и так далее. Хотя и это сделать не сложно, главное правильно выстроить логику приложения.
Для чего это можно использовать
Файлы можно и нужно использовать для всего что достаточно часто используется и занимает не большой объем. Сейчас я объясню что хочу этим сказать. Например у нас есть счетчик написанный на PHP и он при каждом запросе к странице должен увеличивать свое значение на один пункт. Можно написать такой счетчик без использования функций для работы с файлами на PHP. Например использовать базу данных. Но если на ваш сайт заломится сразу 10000 человек и начнут клацать, думаю сайт на обычном хостинге ляжет как миленький. А вот если написать такой функционал с использованием файловой системы, он выдержит и более тяжелые нагрузки, если не помешают другие факторы. А так же в файлы пишутся всевозможные логи и временная инфа. Так же как и конфиги.
Безопасность
Конечно с файлами тоже связанны некоторые уязвимости, но если все делать прямыми руками, то они гораздо менее серьезные чем при работе с базой. Например в базу можно послать SQL иньекцию, а в файлах такой злонамеренный код потеряет смысл. Обезопасить информацию в файлах можно запретив и предотвратив доступ к ним. Для этого в папку с файлом можно например положить файл .htaccess с содержанием
Практические примеры работы с файлами на PHP
Для записи в файл нам нужно его открыть для записи, записать, закрыть. Для чтения так: открыть для чтения, прочитать, закрыть. Для всего этого есть и упрощенные варианты, так как PHP вообще по своей природе очень дружелюбен к разработчику, но лучше все же пользоваться теми методами, которые дают вам больший контроль над ситуацией.
простой пример записи
По сложнее
Вот и вся разница. Но во втором случае мы можем контролировать, создавать ли нам новый файл или писать в уже существующий с таким именем, путем передачи второго аргумента в функцию fopen(). Так же можно контролировать для чего именно мы открываем файл, чтение, запись, чтение/запись и т.д. Так же файлы можно перезаписать или дописать и за это тоже отвечает второй аргумент fopen(). Еще можно заметить что если вы будете затем просматривать эти файлы и не позаботитесь о переводе строк, в них все будет в одной строке. Для перевода строк в файлах нужно использовать символ перевода строки "\n". То есть писать нужно так(если это вам надо конечно)
Если написать это все в одиночных кавычках то \n будет расценено как часть текста а не перевод строки, секете?
Чтение из файлов на PHP
Читать из файлов можно так
Это два примера из множества. Первый просто читает все из файла и отдает. А второй способ читает из файла все строки и возвращает массив с этими строками. Таким образом из файла с одной строкой выйдет массив с одним элементом.
Для чего это можно использовать
Файлы можно и нужно использовать для всего что достаточно часто используется и занимает не большой объем. Сейчас я объясню что хочу этим сказать. Например у нас есть счетчик написанный на PHP и он при каждом запросе к странице должен увеличивать свое значение на один пункт. Можно написать такой счетчик без использования функций для работы с файлами на PHP. Например использовать базу данных. Но если на ваш сайт заломится сразу 10000 человек и начнут клацать, думаю сайт на обычном хостинге ляжет как миленький. А вот если написать такой функционал с использованием файловой системы, он выдержит и более тяжелые нагрузки, если не помешают другие факторы. А так же в файлы пишутся всевозможные логи и временная инфа. Так же как и конфиги.
Безопасность
Конечно с файлами тоже связанны некоторые уязвимости, но если все делать прямыми руками, то они гораздо менее серьезные чем при работе с базой. Например в базу можно послать SQL иньекцию, а в файлах такой злонамеренный код потеряет смысл. Обезопасить информацию в файлах можно запретив и предотвратив доступ к ним. Для этого в папку с файлом можно например положить файл .htaccess с содержанием
Code:
Deny From All
Практические примеры работы с файлами на PHP
Для записи в файл нам нужно его открыть для записи, записать, закрыть. Для чтения так: открыть для чтения, прочитать, закрыть. Для всего этого есть и упрощенные варианты, так как PHP вообще по своей природе очень дружелюбен к разработчику, но лучше все же пользоваться теми методами, которые дают вам больший контроль над ситуацией.
простой пример записи
1
2
<?php //пишем в файл file.dat слово test
file_put_contents('file.dat', 'test');?>
1
2
3
4
5
6
<?php //открываем файл для записи. Для чего открываем указываем во втором аргументе. Подробно о том какие они есть можно почитать в доке по PHP на функцию fopen
$f = fopen('file.dat', 'w');
//записываем в файл слово 'test'
fwrite($f, 'test');
//закрываем файл
fclose($f);?>
Вот и вся разница. Но во втором случае мы можем контролировать, создавать ли нам новый файл или писать в уже существующий с таким именем, путем передачи второго аргумента в функцию fopen(). Так же можно контролировать для чего именно мы открываем файл, чтение, запись, чтение/запись и т.д. Так же файлы можно перезаписать или дописать и за это тоже отвечает второй аргумент fopen(). Еще можно заметить что если вы будете затем просматривать эти файлы и не позаботитесь о переводе строк, в них все будет в одной строке. Для перевода строк в файлах нужно использовать символ перевода строки "\n". То есть писать нужно так(если это вам надо конечно)
1
2
<?php fwrite($f, 'test' . "\n");?>
Чтение из файлов на PHP
Читать из файлов можно так
1
2
<?php $data = file_get_contents('file.dat');?>
1
2
<?php $data = file('file.dat');?>
Работа с файлами на PHP
Теги: создание файлов на PHP; Apathe; запись файлов на PHP; Работа с файлами;
Источник: Drunay
Теги: создание файлов на PHP; Apathe; запись файлов на PHP; Работа с файлами;
Источник: Drunay
Сейчас online: 103. Зарегистрированных: 0. Гостей: 103.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Программирование - что может быть проще.
Программирование - что может быть проще.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Написание простого вируса в блокноте
Что такое API и для чего они нужны
Классы в PHP для чайников
Написание простого вируса в блокноте