Błąd w galerii php, zamiana z php (ls) na html


(fedora24x) #1
<?php
                $photos_source = opendir('./photos');
                while(false !== ($photos_file = readdir($photos_source)))
                {
                        echo '<img src="'.$photos_file.'" alt="" /><br/>';   
                }
                closedir($photos_source);		
                 ?>

Witam, mam skrypt w php, który z folderu obok pliku galeria.php wyświetla wszystkie zdjęcia, ale nie wiem czemu nie działa, w oknie Firefoxa (źródło strony) są niby poprawnie wygenerowane tagi IMG


(kostek135) #2

Pokaż wygenerowane źródło strony, oraz screenshot z drzewa katalogów


(fedora24x) #3
<!doctype html>
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>galeria</title>
<head>
<body>
    <header>
        <nav>
         <ul>
            <li><h1>galeria</h1><li>
             <!--
             <li><a href="#">Example 1</a></li>
             <li><a href="#">Example 2</a></li>
             Free space on the menu
             -->
         </ul>
        </nav>
    </header>
        <!--canvas ponizej wstawka kodu php, i jej efekty-->
<img src="ineedeks.png" alt="" /><br/><img src="Greened.jpg" alt="" /><br/><img src="indsseks.jpeg" alt="" /><br/><img src="images.jpeg" alt="" /><br/><img src="32423sad23.jpg" alt="" /><br/><img src="10711061_867098003323881_1272724812205770389_n.jpg" alt="" /><br/><img src="10458629_10152865210731476_3670280995384840669_n.jpg" alt="" /><br/><img src="apple.png" alt="" /><br/><img src="Awesome-Tux.png" alt="" /><br/><img src="282.jpg" alt="" /><br/><img src="53.png" alt="" /><br/><img src="." alt="" /><br/><img src=".." alt="" /><br/><img src="50_1214780880.jpg" alt="" /><br/>    
        <!--canvas-->
    <footer>
        <p>Copyright &copy; 2015 fedora24x.</p>
    </footer>
</body>
</html>

drzewo katologów w htdocs serwera

root@Acer:/opt/lampp/htdocs# ls -Rl
.:
razem 308
-rwxrwxrwx 1 fedora24x fedora24x   3767 mar 30 16:51 body_background.jpg
-rwxrwxrwx 1 fedora24x fedora24x   3218 cze 11 17:06 index.css
-rwxrwxrwx 1 fedora24x fedora24x    846 lip  3 18:58 index.html
-rwxrwxrwx 1 fedora24x fedora24x    824 lip  3 18:57 index.html~
-rwxrwxrwx 1 fedora24x fedora24x   1113 lip  3 19:21 index.php <--(ten skrypt)
-rwxrwxrwx 1 fedora24x fedora24x   1169 lip  3 19:20 index.php~
-rwxrwxrwx 1 fedora24x fedora24x 284184 kwi  3 14:39 jquery-1.11.2.js
drwxrwxrwx 2 fedora24x fedora24x   4096 lip  3 19:34 photos

./photos:
razem 880
-rw------- 1 fedora24x fedora24x  68736 maj  9 14:30 10458629_10152865210731476_3670280995384840669_n.jpg
-rw-rw-r-- 1 fedora24x fedora24x  87699 cze 30 20:13 10711061_867098003323881_1272724812205770389_n.jpg
-rw------- 1 fedora24x fedora24x  98135 maj  9 14:26 282.jpg
-rw------- 1 fedora24x fedora24x 119448 maj  9 14:14 32423sad23.jpg
-rw------- 1 fedora24x fedora24x 108307 maj  5 08:36 50_1214780880.jpg
-rw------- 1 fedora24x fedora24x  24618 kwi  6 20:34 53.png
-rw------- 1 fedora24x fedora24x 278452 maj 10 13:41 apple.png
-rw------- 1 fedora24x fedora24x  49548 maj  6 19:58 Awesome-Tux.png
-rw------- 1 fedora24x fedora24x  17660 lut 23 20:46 Greened.jpg
-rw------- 1 fedora24x fedora24x   5082 maj  6 19:53 images.jpeg
-rw------- 1 fedora24x fedora24x   9752 kwi  7 13:13 indsseks.jpeg
-rw------- 1 fedora24x fedora24x   7276 kwi  7 13:14 ineedeks.png
root@Acer:/opt/lampp/htdocs#

a strony zprzegladarki nie daje bo to tylko biały ekran i nic poza tym :confused:


(kostek135) #4

Przecież te linki nie są poprawne w kontekście ścieżek, które masz. Wszystkie zakładają, że grafiki będą w tym samym katalogu co skrypt php


(fedora24x) #5
<?php
            $photos_source = opendir('./photos');
            while (false !== ($photos_file = readdir($photos_source)))
            {
                echo '<img src="./photos/'.$photos_file.'" alt="Jakis opis" />';
            }
 ?>

Ścieżke poprawiłem, ale nadal się nie wyśtlają obrazki, chociaż tagi html są dobrze generowane…


(kostek135) #6

W ramach jakiego użytkownika uruchomiony jest proces serwera? Bo teraz tak zwróciłem uwagę, że dla większości zdjęć masz ustawione chmod 0600, czyli tylko owner może czytać i pisać. Spróbuj przestawić na np. 0604


(Ostaszewianin) #7

Wrzuć do pętli while ten warunek

 

if($photos_file != ‘.’ && $photos_file != ‘…’) echo ‘<img src="./photos/’.$photos_file.’" alt=“Jakis opis” />’;


(fedora24x) #8

 

 

 

 

 

Oba posty się przydały, dziękuje za pomoc