Метка: php

Изменение владельца файлов созданных от имени системных процессов

<?php

function chmod_R($path, $perm) {

  $handle = opendir($path);
  while ( false !== ($file = readdir($handle)) ) {
    if ( ($file !== "..") ) {
      @chmod($path . "/" . $file, $perm);
      if ( !is_file($path."/".$file) && ($file !== ".") )
        chmod_R($path . "/" . $file, $perm);
    }
  }
  closedir($handle);

}

$path = $_SERVER["QUERY_STRING"];

if ( $path{0} != "/" )
  $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;

chmod_R($path, 0777);
echo $path;

?>

linux, php

Пишем текст на изображении с помощью PHP

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

<?
// Должна быть подключена php библиотека GD
// Текст нашего обработчика - img.php
// url изображения, на котором будем писать текст
$img = ImageCreateFromJPEG("cert.jpg");
 
// определяем цвет текста, в RGB
$color = imagecolorallocate($img, 0, 0, 0);
 
// указываем путь к файлу используемого шрифта на сервере
$font = 'arial.ttf';
 
$certNum = 'Номер сертификата';
$certDate = 'Срок действия';
imagettftext($img, 90, 0, 380, 1780, $color, $font, $certNum); // параметры по порядку - фон, размер шрифта, угол поворота, координата x, координата y
imagettftext($img, 42, 0, 1200, 2060, $color, $font, $certDate);
 
header('Content-type: image/jpeg'); //вывод изображения
imagejpeg($img, NULL, 100);
?>

После этого сможем скачать или вывести данное изображение, указав путь к данному скрипту.

<a href="img.php" download>Скачать картинку с текстом</a>

Если нужно больше подробностей, смотрите документацию к функции — http://php.net/manual/ru/function.imagettftext.php

php

PHP-функция для генерации UUID v4

Оставлю это здесь, чтобы не забыть.

function uuid()
{
    return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
        mt_rand(0, 0xffff), mt_rand(0, 0xffff),
        mt_rand(0, 0xffff),
        mt_rand(0, 0x0fff) | 0x4000,
        mt_rand(0, 0x3fff) | 0x8000,
        mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
}

php