[php]Funkcja file_exists zawsze zwraca false


(Przemek191191) #1

Witam mam problem z funkcją file_exists chodzi o to że zwraca ona zawsze false.

$u=1;

while($ilosc_img1 >= $u){	


						if (file_exists('../uploated_file/wybarwienia/drewna/'.$nazwa_prod1.'/'.$u.'.jpg') == TRUE){

							echo '';

							}

							$u++;

					}	[/code]




Mimo, że po zastosowaniu echo img plik wyświetla się poprawnie.

[code] echo ' '.$u.'.jpg'

W czym może tkwić problem???


(GioWDS) #2

Może ścieżka którą podajesz jest prawidłowa dla zapytania HTTP a nie jest prawidłową dla skryptu.


(cinkibolek) #3

@up - co ty pierniczysz za bzdury chłopie.

@autor

Strzel sobie

echo '../uploated_file/wybarwienia/drewna/'.$nazwa_prod1.'/'.$u.'.jpg';

i się upewnij że wszystko dobrze poskładałeś Możesz też dać

dirname( __FILE__ ) . '/../uploaded_file/itd';

aby się upewnić że ścieżkę masz prawidłową.


(floyd) #4

A, ta zmienna $ilosc_img1 nie przyjmuje czasami wartości 0 i pętla nie wykonuje się ani razu?


(Prezes333) #5

A nie jest tak, że file_exists potrzebuje ścieżki absolutnej?

Spróbuj:

file_exists( __DIR__.'/../uploated_file/wybarwienia/drewna/'.$nazwa_prod1.'/'.$u.'.jpg')

Ewentualnie bez / między __DIR__ a ..


(Przemek191191) #6

Rozwiązałem problem inaczej:

$DIR = "../uploated_file/wybarwienia/drewna/$nazwa_prod1/";

foreach ( glob ( $DIR . "/*.jpg" ) as $file ) {

    echo '';

    $i++;

    if ( $ilosc_img1 == $i ) {

        break;

    }

}[/code]

@2up Zanim napisałem o tym na forum upewniłem się czy zmienne nie są puste :wink:

@up file_exists trawi ścieżki względne i bezwzględne, ale fakt że __DIR__ pomógł w zdiagnozowaniu problemu :wink:


(cinkibolek) #7

Fajnie, tyle że już Ci wcześniej podawałem jak zdiagnozować, hint: echo i dirname(__FILE__).