Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Jak dostac sie do katalogu nadrzednego? - Rozwiązany.
Forum PHP.pl > Forum > Przedszkole
detter
Szukałem na forum ale nie odnalazłem...
Otóż mam taki problem:
mam 'katalog1' w którym mam plik z taka zawartoscia:

  1. <?php
  2. $file="../katalog2/foto/id_$id/1.jpg";
  3.    if (file_exists($file)) print "
  4.    <table width=146 height=106 background=images/nav/tlo_pod_zdjecia_show.gif border=0 cellspacing=0 cellpadding=0><tr><td>
  5.    <center><a href=\"$file\" rel=\"lightbox[roadtrip]\"><img src=$file width=140 height=100 border=0/></a></center>
  6.    </td></tr></table>
  7.    ";
  8. ?>


Na krasnalu działa ok.

Struktura wyglada tak:

katalog 1
- wykonywany plik
katalog 2
- foto / id_x / 1.jpg

I teraz problem - na serwerze na nazwie nie działa...
utrudnienie: domena serwisu wskazuje na katalog1
inna domena wskazuje katalog2

Próbowałem też kombinować z uprawnieniami plików/katalogów ale to nic nie daje...

Ma ktoś jakiś pomysł jak to zrobić?
skowron-line
Zobacz tak
  1. <?php
  2. $file="http://nazwa.pl/katalog2/foto/id_$id/1.jpg";
  3. ?>
detter
Gdyby nie było If było by ok, jednak ta funkcja nie znajduje tego zdjęcia... i przez to dostaję pustą stronę... :/
Agape
Nie jestem pewien, ale czy nie powinno być:

  1. <?php
  2. $file="../katalog2/foto/id_".$id."/1.jpg";
  3. ?>

? Tak samo z resztą zmiennych dodawanych do stringów?
detter
Hmmm... może i powinno być, ale w tym przypadku nic to nie zmienia. (nie rozwiązuje problemu).
Dodam, że wszystko było by ok, gdyby funkcja if interpretowała taki zapis: "../".


Na krasnalServ otrzymuje w ścieżce do pliku prawidłową ścieżkę tj.: ../katalog2/foto/

a na serwerze nazwy:
domena_wskazująca_katalog1/katalog2/foto/
a powinno być:
domena_wskazująca_katalog1/../katalog2/foto/
sowiq
Cytat
Dodam, że wszystko było by ok, gdyby funkcja if interpretowała taki zapis: "../".
Sorry, ale bredzisz smile.gif Na początku stosujesz funkcję file_exists" title="Zobacz w manualu PHP" target="_manual, która zwraca TRUE albo FALSE.
Spróbuj np. tak:
  1. <?php
  2. $file1 = './../istniejacy_plik.php';
  3. $file2 = '../istniejacy_plik.php';
  4. $file3 = dirname(__FILE__) . '/../istniejacy_plik.php';
  5.  
  6. ?>


Nie da się sprawdzić, czy jakiś plik istnieje na zdalnej domenie. Co najwyżej możesz wysłać zapytanie i sprawdzić, czy nie dostałeś błędu 404.

Cytat
moja-domena.pl/../katalog2/foto/
Coś takiego oczywiście nie jest dozwolone ze względów bezpieczeństwa smile.gif
detter
Dziękuje za podpowiedzi!
Udało się rozwiązać problem - może na około ale działa smile.gif

  1. <?php
  2. $file1 = "./../katalog2/foto/id_$id/1.jpg";
  3.    $file="http://www.moja_domena.pl/foto/id_$id/1.jpg";
  4.    if (file_exists($file1)) print "
  5.    <table width=146 height=106 background=images/nav/tlo_pod_zdjecia_show.gif border=0 cellspacing=0 cellpadding=0><tr><td>
  6.    <center><a href=\"$file\" rel=\"lightbox[roadtrip]\"><img src=$file width=140 height=100 border=0/></a></center>
  7.    </td></tr></table></td><td width=200>    ";
  8. ?>


Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.