0

There are lot of files in upload folder.
I used directory_map(); to list my files in array. I do something like this:

$pdf = directory_map('./upLoad/');
pirnt_f($pdf);

and the output is like:

Array
(
[0] => fonts.css,
[1] => index.html,
[2] => result_pdf_output1.pdf,
[3] => result_pdf_output1.tmp,
[4] => result_pdf_output2.pdf,
[5] => result_pdf_output2.tmp,
[6] => result_pdf_outpu3..pdf,
[7] => result_pdf_output3.tmp,
[8] => result_pdf_output4.pdf,
[9] => result_pdf_output4.tmp,
[10] => result_pdf_output5.pdf,
[11] => result_pdf_output5.tmp,
[12] => result_pdf_output6.pdf,
[13] => result_pdf_output6.tmp,
[14] => result_pdf_output7.pdf,
[15] => result_pdf_output7.tmp,
[16] => result_pdf_output8.pdf,
[17] => result_pdf_output8.tmpf
)

but I wanna return .PDF files to my view. How can I do this?

Abdulla Nilam
  • 36,589
  • 17
  • 64
  • 85
Mohsen Rasouli
  • 352
  • 3
  • 9
  • 22

2 Answers2

1

Try this

$fileNames = array(

    '0' => 'fonts.css', 
    '1' => 'index.html', 
    '2' => 'result_pdf_output1.pdf', 
    '3' => 'result_pdf_output1.tmp', 
    '4' => 'result_pdf_output2.pdf', 
    '5' => 'result_pdf_output2.tmp', 
    '6' => 'result_pdf_outpu3.pdf', 
    '7' => 'result_pdf_outpu3.tmp', 
    );

foreach ($fileNames as $file) {

    $ext = pathinfo($file, PATHINFO_EXTENSION);
    if ($ext == 'pdf') {
        $pdf[] = $file;
    } else {
        $nonPdf[] = $file;
    }

}

echo "PDF's are";
print_r($pdf);

echo "<br>Non-PDF's are";
print_r($nonPdf);

OutPut

PDF's are ==> Array ( [0] => result_pdf_output1.pdf [1] => result_pdf_output2.pdf [2] => result_pdf_outpu3.pdf )     
Non-PDF's are ==> Array ( [0] => fonts.css [1] => index.html [2] => result_pdf_output1.tmp [3] => result_pdf_output2.tmp [4] => result_pdf_outpu3.tmp )
Abdulla Nilam
  • 36,589
  • 17
  • 64
  • 85
0

I found my Question that I asked.

How to get only images using scandir in PHP?

You can use glob

$images = glob('/tmp/*.{jpeg,gif,png}', GLOB_BRACE);
If you need this to be case-insensitive, you could use a DirectoryIterator in combination with a RegexIterator or pass the result of scandir to array_map and use a callback that filters any unwanted extensions. Whether you use strpos, fnmatch or pathinfo to get the extension is up to you.

Community
  • 1
  • 1
Mohsen Rasouli
  • 352
  • 3
  • 9
  • 22