Skip to content

Instantly share code, notes, and snippets.

@hackimov
Created June 26, 2019 11:54
Show Gist options
  • Save hackimov/ea4d99fa4682b57f76487a37bcd24c86 to your computer and use it in GitHub Desktop.
Save hackimov/ea4d99fa4682b57f76487a37bcd24c86 to your computer and use it in GitHub Desktop.
Функция которая может сканировать на жестком диске PDF файлы.
<?
# разрабочик Хакимов Александр
class MD_pdfscan
{
# обявляем функцию сканирования PDF файлов в директории
public static function scanPDF($dir)
{
# сканируем директорию которую мы передали как аргумент функции и вытаскиваем из неё массивом, все файлы
$files = scandir($dir);
# перебираем все элементы массива, полученные при сканировании дериктории, далее мы будем отсекать из неё всё что не является PDFом
foreach ($files as $filePDF)
{
# проверка на существование в названии файла расширения .pdf
if(!stristr($filePDF, '.pdf') === false)
{
# если такое расширение у файла есть, проверяем его MIME тип
if (mime_content_type($dir."/".$filePDF) === "application/pdf")
{
# запихиваем все PDFфайлы в результирующий массив
$filesPDF["name"] = $filePDF;
natsort($filesPDF);
$resultJson[]= $filesPDF;
}
}
}
# сортируем массив человечески понятно
# возвращаем результат в виде массива как результат выполнения операции
return $resultJson;
}
}
###################################### тут мы используем функцию класса MD_pdfscan для получения ПДФок ######################################
# указываем путь, по которому будет проходить сканирование файлов
$directory = "/home/bitrix/www/license_electron_templates";
# Вызываем функцию и передаём аргумент пути, как результат получаем массив, в котором находятся настоящие PDF файлы
$result = MD_pdfscan::scanPDF($directory);
# кодируем результат в JSON строку
$result = json_encode($result);
# возвращаем результат как эхо , для AJAX запроса
echo $result;
#############################################################################################################################################
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment