Odniesienie do katalogu wyżej niż public_html

Witam

Na mojej stronie struktura katalogów wygląda mniej więcej tak:

-data

----photos

--------obrazek.png

-public_html

----css

--------styl.css

Ścieżka /css/styl.css działa prawidłowo, plik .css jest dołączany. Gdy natomiast umieszczam na stronie i jako ściężkę podaję mu /…/data/photos/obrazek.png, wtedy nie działa, obrazek nie wyświetla się. Dzieje się tak na serwerze, na moim PC wszystko działa.

O co chodzi?

public_html to jest folder przeznaczony na Twoją stronę. Innymi słowy, tylko on jest widziany z zewnątrz, cokolwiek poza nim “nie istnieje”. Po co się go tworzy? Aby obok (tak jak ty zrobiłeś folder data) trzymać np: statystyki, logi, te rzeczy które właściciel może sobie ściągnąć z FTP a które nie powinny byś udostępnione.

Możesz spróbować wczytać w PHP funkcją readfile() {oraz header()} podając ścieżkę absolutną. Potem w tag IMG zamiast obrazka podajesz nazwę skryptu PHP z parametrami $_GET (foto.php?zmienna=wartosc). Poprawniej i bezpieczniej jest zrobić z mod_rewritem, ale chyba na razie nie ma sensu tym zawracać Tobie głowy.

Przemieś Data do public_html tak jest najprościej

public_html to już inna “domena”. Czyli tak jakby inna strona. Jak się podłączasz, to podłączasz się do “globalnego” ftp serwera (ale widzisz tylko swoje) a public html to już jest twoje miejsce na strony. Możesz patrzeć w adresie ftp jak brzmi ścieżka tego katalogu “powyżej” public_html (jak to nazwałeś) i potem dać po prostu link, ale prościej jest trzymać wszystko w public_html