Опрос
Какие статьи добавлять?

PHP: права доступа к файлам. Установить их или получить значение.

Автор: administrator Дата: 29-04-2018, 19:11 Категория: Статьи и уроки / PHP статьи

Введение в права доступа

Операционные системы имеют различные политики контроля доступа к файлам. PHP не может влиять на них прямым образом. Однако интерпретатор обрабатывает системные сообщения. Например, при выполнении какой-либо операции с файлом, на которую у вас нет прав, встроенные функции перехватывают ошибки и возвращают false.
Для построения WEB-сервисов в основном используются операционные системы Linux и Windows. Их политики контроля доступа совершенно не совместимы. Тем не менее, список файловых операций остается неизменным: создание, чтение, изменение, удаление и запуск исполняемых программ. PHP имеет ряд встроенных функций, самостоятельно определяющих тип операционной системы и вычисляющих доступность прав.
Заметка!
В зависимости от логики приложения может возникнуть потребность проверки прав доступа к файлу до осуществления операции. Это позволит явным образом контролировать поведение программы, а не дожидаться ошибок.

Просмотров: 689 Комментариев: 0
  • 0

Запись данных в файл. Функции PHP, отвечающие за эту операцию.

Автор: administrator Дата: 29-04-2018, 18:43 Категория: Статьи и уроки / PHP статьи

Запись данных целиком

Довольно часто требуется записать информацию в файл за один раз, без открытия дескриптора и построчной обработки данных. В PHP специально для решения этой задачи есть функция file_put_contents(). Её первый параметр принимает путь до файла, а второй — строку, предназначенную для записи.
Если файл на момент вызова не существует, он будет создан. Однако для осуществления этой операции нужны права, позволяющие создавать файлы в указанной директории. Обратите внимание на то, что данная функция перед осуществлением записи затирает всё содержимое файла.
Перезаписывание файла можно отменить за счет третьего необязательного параметра. Он принимает три вида флагов, которые могут быть объединены с помощью побитового оператора «или», записываемого как вертикальная черта «|»...
Просмотров: 683 Комментариев: 0
  • 0

PHP: Создание файла. Использование временных файлов

Автор: administrator Дата: 29-04-2018, 18:01 Категория: Статьи и уроки / PHP статьи

Простое создание файла

Нужно отметить, что в PHP есть несколько способов создания файлов. Каждый из них имеет свои особенности и используется для решения различных задач.
Самым простым способом является использование функции touch(). Она применяется для установки времени последнего доступа к файлу. Если файл не существует, touch() создаст его. Принцип работы очень прост. Функция принимает три параметра: имя файла, время касания и время доступа в формате timestamp. Параметры времени являются необязательными...
Просмотров: 551 Комментариев: 0
  • 0

PHP: файловые указатели. Выборочное извлечение информации.

Автор: administrator Дата: 28-04-2018, 19:07 Категория: Статьи и уроки / PHP статьи

Роль файловых указателей

При использовании функций чтения и записи, встроенных в PHP, нужно учитывать одну особенность. Файловый дескриптор, полученный вызовом fopen(), хранит в себе информацию о текущем местоположении указателя, также называемого курсором.
Указатель - это целочисленное значение, соответствующее порядковому номеру байта, от которого будет произведена следующая операция. Например, если вы создали файл и записали в него некоторое количество данных, то следующее добавление информации произойдет с места остановки предыдущей операции.
В PHP существует ряд функций, позволяющих управлять файловыми указателями. Это дает возможность выполнять чтение или запись, начиная с конкретного места. Они просты в понимании, но на практике используются редко. В большинстве случаев логика приложения не требует явного управления курсорами.
Важно!
Функции изменения положения курсора, рассматриваемые ниже, не будут иметь никакого эффекта, если файл был открыт в режиме доступа «a» или «a+». Операции записи в таком случае будут вестись только в конец файла.

Просмотров: 582 Комментариев: 0
  • 0

PHP: копирование, перемещение и удаление файлов

Автор: administrator Дата: 28-04-2018, 19:00 Категория: Статьи и уроки / PHP статьи

Копирование файла

Создание копии файла в PHP происходит с помощью одноименной функции copy(). Её первый параметр принимает путь до исходного файла, а второй - место расположения копии. Функция вернет true при успешном завершении работы, а false в случае ошибки. Если файл, указанный во втором параметре уже существует, то он будет перезаписан.
//Создание пустого файла в корне сайта и его копирование
$mainFile = $_SERVER['DOCUMENT_ROOT']. '/main-file.txt';
$copyFile = $_SERVER['DOCUMENT_ROOT']. '/copy-file.txt';

if (touch($mainFile)) {
    if (copy($mainFile, $copyFile)) {
        echo "Файл {$copyFile} успешно создан";
    } else {
        echo 'Ошибка при копировании файла';
    }

} else {
    echo 'Ошибка при создании файла';
}
Просмотров: 586 Комментариев: 0
  • 0

PHP: Чтение из файла. Получение информации построчно и целиком.

Автор: administrator Дата: 28-04-2018, 16:40 Категория: Статьи и уроки / PHP статьи

Чтение всего содержимого файла


Аналогично созданию файлов, PHP реализует несколько подходов к чтению информации, хранящейся в них. Существует ряд функций, позволяющих получать как всё содержимое файла целиком, так и отдельные строки. Эти функции используются для решения различных задач.

Если необходимо прочитать всё содержимое файла для дальнейшей обработки, используйте функцию file_get_contents(). Достаточно передать ей путь до файла в перовом параметре. Функция вернет результат в виде строки, которую можно поместить в переменную...
Просмотров: 632 Комментариев: 0
  • 0

Обратимое шифрование по ключу на PHP

Автор: administrator Дата: 3-04-2018, 00:22 Категория: Статьи и уроки / PHP статьи
Задача надежного шифрования текстовой информации часто встречается при программировании сайтов. В зашифрованном виде бывает необходимо хранить не только пароли, но и другую информацию. Недавно такая задача встала и у меня. Мне нужна была более-менее надежная функция обратимого шифрования текста по ключу. Почему по ключу? Дело в том, что шифрация без ключа может быть взломана, т.к. большинство алгоритмов шифрования можно найти в интернете и подобрать способ, чтобы получить исходные данные, а шифрация с ключом гораздо более надежная.

Поискав по интернету я нашел целых 2 достаточно коротких в плане количества кода и в тоже время очень надежных способа обратимого шифрования по ключу, которые использует встроенную в php библиотеку Mcrypt.
Просмотров: 331 Комментариев: 0
  • 0

Проверить наличия плагина AdBlock у пользователя

Автор: administrator Дата: 30-03-2018, 22:27 Категория: Статьи и уроки / PHP статьи
Чтобы определить установлено-ли расширение AdBlock или AdBlock Plus для блокировки рекламы у пользователя, достаточно в код страницы включить вызов скрипта, который бы попадал под специальные паттерны для определения рекламных блоков
например: <div> с классом .banner. Если данный скрипт не выполнился, то расширение для браузера установлено.
Просмотров: 711 Комментариев: 0
  • 0

Использование SQLite в C#: Часть 4 – Проект SQLite.Net

Автор: administrator Дата: 7-03-2018, 15:32 Категория: Статьи и уроки / C# статьи
SQLite.Net – это любительский проект с открытым программным кодом, ставящий своей целью реализацию работы с движком локально хранимых баз данных SQLite посредством обработки данных на уровне их объектных моделей. В идеологии SQLite.Net каждая модель данных – это отдельный объект, со своими свойствами и методами, низкоуровневую же часть работы с данными SQLite.Net берет на себя.
Логика работы SQLite.Net реализована в файлах с исходным кодом SQLite.cs и SQLiteAsync.cs, которые добавляются непосредственно в состав разрабатываемого проекта. Библиотеки движка SQLite также должны быть включены в состав проекта, либо дистрибутив SQLite должен быть установлен в целевой системе.
Простейший способ включить файлы SQLite.Net в состав своего проекта – воспользоваться менеджером пакетов NuGet, входящим в состав Visual Studio. Для этого необходимо открыть контекстное меню проекта в Solution Explorer, выбрать пункт Manage NuGet Packages…, далее в открывшемся окне NuGet переключиться в раздел Online/All и выполнить поиск по ключевому слову sqlite. Из результатов поиска вам необходимо выбрать и установить пакет sqlite-net, а также пакет System.Data.SQLite (x86/x64) в том случае, если вы ходите сразу добавить библиотеки SQLite в свой проект.
Просмотров: 801 Комментариев: 0
  • 0

Arduino Pro Mini + токовый датчик GY-712 ведут контроль перегорания ламп

Автор: administrator Дата: 7-03-2018, 14:38 Категория: Arduino / Начинающим Ардуинщикам
Всем привет. Хочу поделится одним из проектом созданным на базе Arduino.
Для меня работа с токовыми датчиками GY-712 была впервые. Перед созданием этого проекта создавался тестовый блок.
Просмотров: 305 Комментариев: 0
  • 0