Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    File non trovato (ma esistente nella cartella)

    Codice PHP:
    if (file_exists($http."imgs_img/".$row_img["codart"]."_p.jpg")) 
    L'immagine descritta nella parentesi della funzione esiste nella cartella (se immetto il suo percorso diretto nel browser ci arrivo).
    Però la funzione non riesce a trovarla... per quale motivo non la trova?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ma passi un percorso sul server o un url?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    E' una url, interna al sito... in pratica è il percorso nella cartella imgs_img del dominio

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    allora usa il percorso assoluto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Grazie, ho risolto risalendo di livello dalla cartella dove mi trovavo attraverso il ".."
    Credevo che la funziona prendesse l'intero percorso...

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    la funzione prende un percorso assoluto oppure un percorso relativo.

    Il punto, se il percorso è relativo è che lo è rispetto al file che stai chiamando, se ad esempio hai questa situazione:

    ./index.php
    ./include/file_exist.php
    ./dir/filedatestare.txt

    e in file_exits.php vuoi testare "filedatestare.txt" o usi il percorso assoluto e andrà sempre, oppure se il file_exit.php viene incluso dalla index allora ci dovrai mettere:

    if(file_exists('dir/filedatestare.txt')) {

    }

    altrimenti se lo chiami direttamente:

    if(file_exists('../dir/filedatestare.txt')) {

    }

    secondo me comunque l'ideale è sempre usare il percorso assoluto, in modo da non doverti preoccupare se riutilizzi il codice di controllare i percorsi al suo interno.

    Una cosa cosi dovrebbe essere l'ideale:

    $path = $_SERVER['DOCUMENT_ROOT'].dir/filedatestare.txt;

    Attento che su alcuni server la DOCUMENT_ROOT finisce con la / su altri no, quindi dovrai verificare per avere un percorso corretto.

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.