Простые и понятные примеры PHP кода. Краткие статьи, заметки, очерки.


PHP: получить иерархию классов объекта

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

<?php
/**
 * Функция, получая в качестве входного параметра объект,
 * возвращает массив с иерархией классов.
 * 
 * @param object $object
 * @return array
 * @throws InvalidArgumentException
 */
function getClassHierarchy($object) {
    if (is_object($object)):
        $class = get_class($object);
    elseif (!class_exists($object)):
        throw new InvalidArgumentException("class $object is not defined");
    endif;

(далее…)

Опубликовано 3-09-2013 в 17:15
PHP

Распаковка tar архивов в PHP

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

Системные требования:

Системные требования те же: PHP версии 5.3 или старше. Используем все тот же класс PharData. Плюс к нему добавятся новые для нас методы compress() и extractTo().

Пример программного кода:

Итак, распаковываем архив «ckeditor-7.x-1.13.tar.gz» в каталог «new-folder»: (далее…)

Опубликовано 3-09-2013 в 16:48
PHP

PHP: запись в файл

Итак, ниже посетителям сайта http://red-book-cms.ru представлен пример того, как в PHP можно осуществить простую запись в файл. Смотрим Далее далеко не самый сложный программный код:

<?php
$filename = 'script-file.txt';
$content = 'Fusce ante laoreet massa natoque 
feugiat tempor adipiscing sed accumsan elit. 
Malesuada adipiscing nunc Sed Nulla ipsum 
arcu metus dictumst pharetra malesuada.';
$file = fopen($filename, "w");
if (!$file) :
    print 'Не получилось открыть файл!';
endif;
if (fwrite($file, $content) === false):
    print 'Не получилось записать в файл!';
endif;
fclose($file);
?>

(далее…)

Опубликовано 3-09-2013 в 13:50
PHP

Проверка ассоциативного массива в PHP

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

<?php
/**
 * Функция выполняет проверку массива на ассоциативность.
 * @param array $array
 * @return boolean
 */
function is_assoc(array $array) {
// Ключи массива:
    $keys = array_keys($array);

// Если массив ключей из ключей соответствует ключам, то массив должен
// быть не ассоциативным(например, ключи массива будут похожи на {0:0, 1:1 ...}).
    return array_keys($keys) !== $keys;
}

(далее…)

Опубликовано 2-09-2013 в 13:22
PHP

PHP tar bz2: упаковка файлов в архив

Далее представлен пример программной упаковки файлов в архив формата tar с применением сжатия bz2:

<?php
$filename = 'custom-archive.tar';
try {
    $tarArchive = new PharData($filename);

    $tarArchive->addFile('image1.png');
    $tarArchive->addFile('index.html');
    $tarArchive->addFile('sub-page.html');
    $tarArchive->addFile('test.xml');
    $tarArchive->addFile('document.doc');

    $tarArchive->compress(Phar::BZ2);

} catch (Exception $e) {
    print "Возникло исключение: " . $e;
}
?>

На выходе будут созданы два архива — custom-archive.tar.bz2 и custom-archive.tar, куда мы добавим в общей сложности 5 произвольных файлов. Системные требования те же PHP 5.3 и выше. Используем класс PharData и парочку его методов addFile() + compress().

Опубликовано 2-09-2013 в 11:59
PHP

PHP tar gz: упаковка файлов в архив

В продолжение предыдущего материала рассмотрим пример создания tar-архива с применением сжатия gzip. Для этого достаточно помимо addFile() использовать метод под названием compress() класса PharData. Напомню, что версия PHP при этом должна быть >= 5.3.

<?php
$filename = 'new-archive.tar';
try {
    $tarArchive = new PharData($filename);

    $tarArchive->addFile('image2.jpeg');
    $tarArchive->addFile('image1.png');
    $tarArchive->addFile('document.html');

    $tarArchive->compress(Phar::GZ);

    print "Файлы добавлены в архив $filename.gz";
} catch (Exception $e) {
    print "Возникло исключение: " . $e;
}
?>

(далее…)

Опубликовано 2-09-2013 в 11:27
PHP

PHP tar: простая упаковка файлов в архив

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

Небольшая справка. Tar является общим форматом архива используемым в операционных системах Linux. Стоит отметить, что он просто упаковывает несколько файлов, но не сжимает их. Сжатие происходит в сочетании с gzip или bzip2. Тогда архив получает расширение *.tar.gz, которое представляет из себя сжатый с помощью gzip tar-файл.

Сегодня я покажу читателям один из вариантов простого программного кода, который поможет вам запаковать произвольную группу файлов в архив. (далее…)

Опубликовано 2-09-2013 в 10:21
PHP



Свежие комментарии

  • Администратор: к записи Николай, посмотрите файл '.htaccess' в корне сайта »
  • Николай: к записи Простите если немного не по теме. Я сделал экспорт »
  • Эрик: к записи Спасибо, помогло) 20 минут мучался) »
  • steblo: к записи спаисбо »
  • Иван: к записи Привет всем, доброго времени суток! Я излазил весь »
  • Александер: к записи Потом пригляделся, вроде Вы не это имели в виду и »
  • Александер: к записи У Вас не русифицируется, потому что не везде включ »

Статистика спама

Blogroll:

  • . . →

Последние твиты