Проверка файла на изображение на языке PHP

👁 57 просмотров

Это один из наилучших способов проверить, является ли файл на картинкой на языке PHP.

Функция getimagesize в php предоставляет много информации о файле изображения, включая его тип. Тип может использоваться, чтобы проверить, является ли файл допустимым файлом изображения или нет.

Чтобы проверить, является ли файл изображением или нет, используйте функцию

function is_image($path)
{
    $a = getimagesize($path);
    $image_type = $a[2];
     
    if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
    {
        return true;
    }
    return false;
}

$a[0] и $a[1] — ширина и высота изображения. $a[2] содержит тип изображения. Другие форматы изображений:

[IMAGETYPE_GIF] => 1
[IMAGETYPE_JPEG] => 2
[IMAGETYPE_PNG] => 3
[IMAGETYPE_SWF] => 4
[IMAGETYPE_PSD] => 5
[IMAGETYPE_BMP] => 6
[IMAGETYPE_TIFF_II] => 7
[IMAGETYPE_TIFF_MM] => 8
[IMAGETYPE_JPC] => 9
[IMAGETYPE_JP2] => 10
[IMAGETYPE_JPX] => 11
[IMAGETYPE_JB2] => 12
[IMAGETYPE_SWC] => 13
[IMAGETYPE_IFF] => 14
[IMAGETYPE_WBMP] => 15
[IMAGETYPE_JPEG2000] => 9
[IMAGETYPE_XBM] => 16
[IMAGETYPE_ICO] => 17
[IMAGETYPE_UNKNOWN] => 0
[IMAGETYPE_COUNT] => 18

Замечание. mpeg видео обнаруживается как IMAGETYPE_ICO

Метки:

Создание и заполнение файла Excel с библиотекой ExcelPHP

👁 44 просмотров

Про установку и подключении библиотеки в статье Чтение Excel из PHP.

Простой пример создания и заполнения файла средствами PHP на основе библиотеки ExcelPHP

<?php
//Поключаем основной класс
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/PHPExcel/Classes/PHPExcel.php';

//Создаем массив и заполняем некоторыми данными
//Некоторый исходный массив с данными
$users = Array(
    Array("login"=>"login1","name"=>"Имя1","surname"=>"Фамилия1","patronymic"=>"Фамилия1"),
    Array("login"=>"login2","name"=>"Имя2","surname"=>"Фамилия2","patronymic"=>"Фамилия2"),
    Array("login"=>"login3","name"=>"Имя3","surname"=>"Фамилия3","patronymic"=>"Фамилия3"),
    Array("login"=>"login4","name"=>"Имя4","surname"=>"Фамилия4","patronymic"=>"Фамилия4")
);
//Название файла
$fileName = "Название теста: ".$quiz->getName()."";
//Массив для заполнения;
$arrResult;
//Массив с индексом 0 для заголовков колонок
$arrResult[] = Array(0=>"Пользователь", 1=>"Имя", 2=>"Фамилия", 3=>"Отчество", 4=>"Правильно ответил",5=>"Из вопросов");

foreach ($users as $user) :
    $arrResult[] = Array(0=>$user["login"], 1=>$user["name"], 2=>$user["surname"], 3=>$user["patronymic"]);
endforeach;

//Заполняем наш файл Excel
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Temporaris")
->setLastModifiedBy("Temporaris")
->setTitle("Template Relevé des heures intérimaires")
->setSubject("Template excel")
->setDescription("Template excel permettant la création d'un ou plusieurs relevés d'heures")
->setKeywords("Template excel");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', $fileName);
for($i=0; $i<=(count($arrResult));$i++)
{
    $uLogin = $arrResult[$i][0];
    $uName = $arrResult[$i][1];
    $uSurname = $arrResult[$i][2];
    $uPatro = $arrResult[$i][3];
    //
    $ind = $i + 2;//нулевой строки в Excel нет, а первая для заголовка добавлен выше
    $objPHPExcel->getActiveSheet()->SetCellValue('A'.$ind, $uLogin);
    $objPHPExcel->getActiveSheet()->SetCellValue('B'.$ind, $uName);
    $objPHPExcel->getActiveSheet()->SetCellValue('C'.$ind, $uSurname);
    $objPHPExcel->getActiveSheet()->SetCellValue('D'.$ind, $uPatro);
}
//Сохраняем файл на сервере
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$writer->save($_SERVER['DOCUMENT_ROOT'] . "/files/result.xls");
//Теперь можно загрузить это через браузер
echo "<a class='btn btn-lg btn-success' href='".$_SERVER['DOCUMENT_ROOT']."/files/result.xls' download='Результаты.xls'>Загрузить в формате Excel</a>";
?>

 

Создание новой области для виджета в WordPress

👁 46 просмотров

Если вы знакомы с темами WordPress, то вы знаете, что у многих тем есть виджетная боковая панель. Это означает, что вы можете добавлять, удалять и переупорядочивать виджеты на своем веб-сайте WordPress, используя раздел «Виджет» на панели инструментов WordPress.

В данном посте место для виджета создается в боковой панели, но это не обязательно может быть боковая панель, это может быть любой областью нашей темы.

Наличие виджетной боковой панели очень полезно, но вы можете также виджетировать другие части своей темы WordPress. Это очень легко сделать, и как только ваша тема будет изменена, вам будет легко или администратор WordPress просто поменять виджеты на разных частях веб-сайта.

Шаг 1: Добавляем код вывода виджета в теме

Первым шагом является добавление следующей строки кода к той части вашей темы, которую вы хотите активизировать. Обязательно измените «Name of Widget Area» на имя, которое имеет смысл для вас. Вам нужно будет сделать это с помощью редактора кода, а затем загрузить файл через FTP-клиент.

<?php
 
if ( is_active_sidebar( 'slider-widget' ) ) : ?>
    <div id="slider-widget-area" class="slider-widget-area widget-area" role="complementary">
    <?php dynamic_sidebar( 'slider-widget' ); ?>
    </div>
     
<?php endif; ?>

Шаг 2: Реадактируем файл functions.php

В папке темы WordPress должен быть файл functions.php. Если этого не происходит, просто создайте новый файл и назовите его «functions.php». В файле functions.php добавьте следующий код:

function wpb_widgets_slider_init() {
 
    register_sidebar( array(
        'name'          => 'Slider Widget Area',
        'id'            => 'slider-widget',
        'before_widget' => '<div class="slider-widget">',
        'after_widget'  => '</div>',
        'before_title'  => '<h2 class="slider-title">',
        'after_title'   => '</h2>',
    ) );
 
}
add_action( 'widgets_init', 'wpb_widgets_slider_init' );

Код выше должен быть обернут в PHP открытым и закрытым тегами (<? Php и?>, Соответственно). Если у вас уже есть файл functions.php, те теги уже будут там. Если вы создали его самостоятельно, вам придется добавить их.

Обязательно измените имя функции (в данном случае это «Name of Widget Area»), чтобы оно соответствовало имени, которое вы дали ему на шаге 1.

Параметры «before_widget» и «after_widget» позволяют указать, какой код вы хотите разместить до и после каждого виджета. В этом случае я добавляю div с классом для стилизации.

Параметры «before_title» и «after_title» позволяют вам обернуть заголовки виджетов в коде. В этом случае я завернул заголовок в тегах <h3> и </ h3> соответственно.

Шаг 3. Добавление виджетов

После того, как вы успешно добавили виджетную область, вы можете начать добавлять виджеты на свой сайт WordPress. Для этого войдите в свою панель управления WordPress, затем нажмите «Виджеты» в раскрывающемся списке «Внешний вид» с левой стороны.

Теперь вы должны увидеть раздел «Name of Widget Area» в правой части экрана. Теперь просто нажмите и перетащите виджеты в окно, как ваша боковая панель!

2. Инсталяция Yii фреймворка на локальный сервер и запуск демо-сайта

👁 208 просмотров

Итак. В прошлой статье   мы разбирали что такое фреймворк. Настал момент, когда уже пришло этот фреймворк «попробовать на зуб». В этом уроке мы детально опишем как настроить Yii и запустить демо-сайт, который прилагается к нему в виде стандартного примера использования MVC, данный пример служит шаблоном проектирования на Yii и вы можете на основе данного примера построить свой проект. В конце урока я выложу скринкаст с YouTube, чтобы наглядно показать сей процесс 🙂 .

В первую очередь, вам необходимо установить Apache сервер интерпретатор PHP 5 или выше, в данном уроке я считаю, что он у вас установлен, если нет, то  чтобы не затягивать процесс с настройками отдельных модулей( Apache, PHP и MySQL), советую вам установить комплект уже готовой сборки на примере Denwer или, что еще лучще и рекомендую —OpenServer.

Оба пакета бесплатные и еще, чтобы запускать команды PHP интерпретатора через командную строку вам необходимо будет указать в перeменных средах путь к php.ini, у OpenServer она находится в директории C:\OpenServer\userdata\config\PHP-5.5.4_php.ini, конечно же, если вы установили так же, как и я в корень диска C. Чтобы прописать в Path откройте следующую цепочку: Пуск -> Компьтер + левой кнопуи мыши щелчок -> свойства -Дополнительные параметры системы -> перменные среды, выбираем Path +изменить и добавляем через ; путь  C:\OpenServer\userdata\config\PHP-5.5.4_php.ini:

 

perem-sredy-php-yii-inst

 

1. Первым делом нам необходимо скачать код фреймворка со всеми примера с оффициального сайта и разархивировать в папку на рабочий стол по именем yii(я условно назвал, не имеет разницы как вы папку назовете, главноеразархивируйте туда все содержимое);

2. Создаем на локальном сервере хост с новым доменным именем, к примеру, я назвался у себя как websofter.loc, и кидаем туда все содержимое архива архива, прямо в корень;

3. Теперь нам надо проинсталировать наш фреймворк и для этого нам будет необходимо выполнить файл yiic , который находится в папке C:\OpenServer\domains\WebSofter.loc\yii\framework и для этого заходим в командную строку и переходим в папку C:\OpenServer\domains\WebSofter.loc\yii\framework, выполнив команду:


>cd C:\OpenServer\domains\WebSofter.loc\yii\framework

perem-sredy-php-yii-cmd

4. Перешли в папку и теперь надо набрать команду php и запустить файл инсталяции yiic и указать папку, куда надо инсталлировать, а инсталлировать мы будем в корневую папку и для этого укажем в параметре путь C:\OpenServer\domains\WebSofter.loc, команда такая:

C:\OpenServer\domains\WebSofter.loc\yii\framework> php -f yiic webapp C:\OpenServer\domains\WebSofter.loc

после этого вам будет уведомление об установке примера, вы жмете yes и после успешно установки будет вот такое окно:

perem-sredy-php-yii-succefull

5. Все!  Процедура установки окончена и чтобы проверить работоспособность сайта откройте свой адрес локального хоста и у вас должен запуститься демо-сайт:

perem-sredy-php-yii-site

И все это можете еще подробно просмотреть на виде:

Удачной установки! 🙂