-2

I'm fetching all the images in a directory using PHP, but I'm looking for a way to avoid creating several functions for this. My code looks like this:

function getAllImages() {
    $dir = "images/work/*";  
    foreach(glob($dir) as $file)  
    {  
        echo '<img src="'.$file.'">';
    }  
}

And I'm calling the function in an external file

getAllImages();

Thing is; the files need to be in subfolders to the "work" directory, so basically one subdirectory could be images/work/project1, which would contain images for a project called "project1".

The easy way for me to do this is to create multiple functions like "getAllImagesProject1" etc, but what I'd like is to somehow use parameters (or something similar) to access the subdirectory, such as

getAllImages('project1');

I'm not a code wizard in any way so I'd love if someone knew how to get this to work! THANK YOU for reading this!

2
  • Simply let the method take one argument, $dir? Commented Feb 24, 2013 at 19:18
  • this question has been answered at least a hundred times on here. I recommend this answer: stackoverflow.com/questions/2014474/… Commented Feb 24, 2013 at 19:26

2 Answers 2

1

Maybe you should try this:

function getAllImages($directory) {
    $dir = "images/work/{$directory}/*";  
    foreach(glob($dir) as $file)  
    {  
        echo '<img src="'.$file.'">';
    }  
}
Sign up to request clarification or add additional context in comments.

Comments

1

I think you should also validate your images before you output them

function getAllImages($path) {
    $it = new FilesystemIterator($path, FilesystemIterator::SKIP_DOTS);
    $it = new RegexIterator($it, '#\.(gif|png|jpg|jpeg)$#i');
    foreach ( $it as $img )
        @getimagesize($img) and printf("<img src='%s' />", $img);
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.