The task is to display all images in slick from a specific folder. As I understand it can be done using php. Tell me how to do?

  • I tried this code: $ filenames = glob ('/ foo / bar / *. jpg'); foreach ($ filenames as $ filename) {echo "<div> $ filename </ div>"; } Didn't work - Gregory
  • /foo/bar/ this is an absolute path from the root of the disk, obviously incorrect - teran

1 answer 1

Work code:

  $wimage = ""; $fimg = ""; $path = "images/"; // Π·Π°Π΄Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ сканируСмой ΠΏΠ°ΠΏΠΊΠΈ с изобраТСниями $images = scandir($path); // сканируСм ΠΏΠ°ΠΏΠΊΡƒ if ($images !== false) { // Ссли Π½Π΅Ρ‚ ошибок ΠΏΡ€ΠΈ сканировании $images = preg_grep("/\.(?:png|gif|jpe?g)$/i", $images); // Ρ‡Π΅Ρ€Π΅Π· рСгулярку создаСм массив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ if (is_array($images)) { // Ссли изобраТСния Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ foreach($images as $image) { // Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ массиву $fimg .= "<img src='".$path.htmlspecialchars(urlencode($image))."' alt='".$image."' />"; } $wimage .= $fimg; } else { // ΠΈΠ½Π°Ρ‡Π΅, Ссли Π½Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ $wimage .= "<div style='text-align:center'>НС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ!</div>\n"; } } else { // ΠΈΠ½Π°Ρ‡Π΅, Ссли дирСктория пуста ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка $wimage .= "<div style='text-align:center'>ДирСктория пуста ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ сканировании.</div>"; } echo $wimage; // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 
  • Why create an array of images through a regular schedule? (((Why not just use glob ? - And
  • I tried through glob. The above code is in the comments. I could not get. Please note that with php everything is difficult for me. - Gregory
  • Most likely the path is incorrect, specify the full path from the site root. Use the constant __DIR__ for example. - And