За последние 24 часа нас посетили 19933 программиста и 1093 робота. Сейчас ищут 392 программиста ...

php код для поиска в каталоге, и выдачи в список релевантных файлов

Тема в разделе "Сделайте за меня", создана пользователем dydaevskiy, 27 апр 2016.

  1. dydaevskiy

    dydaevskiy Новичок

    С нами с:
    27 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    Здравствуйте друзья, в php кодинге я начинающий в связи с чем столкнулся с траблой.

    Что имеется для начала:
    1) У начальника имеется программа в которой хранится база данных, в данной базе данных имеются все клиенты компании и все финансовые операции между компанией и клиентами, называется программа "CarStore".
    2) В программе реализована функция экспорта отчетов в файлы формата .PDF.
    3) Имеется сайт на CMS WordPress
    4) Все экспортируемые файлы PDF имеют название в соответствии логинам на сайте WordPress. То есть
    Если на сайте user "00006" то его отчеты будут иметь имена:
    00006_09_11_2015.pdf, 00006_16_04_2015.pdf, 00006_23_12_2014.pdf и т.д.

    Что необходимо реализовать:

    1) Необходимо реализовать автоматическое импортирование экспортированных (из программы) PDF файлов, в учетную запись клиента, на сайт.
    2) Для реализации личного кабинета используется плагин WP_RECALL. Для данного плагина можно написать свой аддон, куда собственно и необходимо вставить PHP код который:

    1. Откроет папку "pdf"
    2. Просканирует ее содержимое
    3. Сопоставит первые пять символов названия файла, логину пользователя
    4. Выдаст список pdf файлов соответствующих пользователю на сайте.

    Что имею сейчас:
    Код (Text):
    1. $dir = opendir("wp-content/plugins/wp-recall/add-on/files/pdf/");
    2. while($filename = readdir($dir))
    3. {
    4.     print "<a href=\"http://testgoldauto.com/wp-content/plugins/wp-recall/add-on/files/pdf/".$filename.$fs."\">".$filename.$fs."<a><br>";
    5. }
    Данный скрипт выдает список всех файлов которые хранятся в папке "pdf", как реализовать сопоставление первых пяти символов названия файла, логину пользователя?
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    можно както так
    PHP:
    1. $list=glob("wp-content/plugins/wp-recall/add-on/files/pdf/00006_*.pdf");
     
    mahmuzar нравится это.
  3. dydaevskiy

    dydaevskiy Новичок

    С нами с:
    27 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    Если Вас не затруднит, Вы можите дать полный код (хотя бы примерный), буду очень благодарен.
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    примерно так можно
    PHP:
    1. $dir = 'wp-content/plugins/wp-recall/add-on/files/pdf/';
    2. $user_login = '00006';
    3. $list = glob($dir.$user_login.'_*.pdf');
    4. foreach($list as $file_path) {
    5.   $filename = basename($file_path);
    6.   echo "<a href=\"http://testgoldauto.com/wp-content/plugins/wp-recall/add-on/files/pdf/".$filename."\">".$filename."<a><br>";
    7. }//foreach
     
    mahmuzar нравится это.
  5. dydaevskiy

    dydaevskiy Новичок

    С нами с:
    27 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    Огромное Вам спасибище!!!!
    В итоге у меня получился вот такой код:

    Код (Text):
    1. $dir = 'wp-content/plugins/wp-recall/add-on/files/pdf/';
    2. $user_info = get_userdata(1);
    3. $user_login = ($user_info->user_login);
    4.  
    5. $list = glob($dir.$user_login.'_*.pdf');
    6. foreach($list as $file_path)
    7. {
    8.   $filename = basename($file_path);
    9.   echo "<a href=\"http://testgoldauto.com/wp-content/plugins/wp-recall/add-on/files/pdf/".$filename."\">".$filename."<a><br>";
    10. }
    --- Добавлено ---
    Как отрезать первые 6 символов имени в ссылке, в данной строке:
    Код (Text):
    1. echo "<a href=\"http://testgoldauto.com/pdf/".$filename."\">".$filename."<a><br>";
    символов в названии файла?
    То есть что сылка получалась не
    admin_12_03_2016.pdf
    а
    12_03_2016.pdf
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    substr() поможет
     
  7. dydaevskiy

    dydaevskiy Новичок

    С нами с:
    27 апр 2016
    Сообщения:
    21
    Симпатии:
    0
    Благодарю.Отлично!!!
    Получилось:
    PHP:
    1. add_action('init','add_tab_my_report_files');
    2. function add_tab_my_report_files(){
    3.     rcl_tab('myform','my_report_files_recall_block','Мои отчеты',array('public'=>0,'class'=>'fa-file-text-o','order'=>20));
    4. }
    5. function my_report_files_recall_block($user_lk){
    6.  
    7.     $dir = 'pdf/';
    8. $user_info = get_userdata(1);
    9. $user_login = ($user_info->user_login);
    10.  
    11. $list = glob($dir.$user_login.'_*.pdf');
    12. foreach($list as $file_path)
    13. {
    14. $filename = basename($file_path);
    15. $rest = substr("$filename", 6, 15); // возвращает "bcd"
    16.   echo "<a href=\"http://testgoldauto.com/pdf/".$filename."\" target=\"_blank\">".$rest."<a><br>";
    17. }
    18. }