• User

    Path che non funziona su Linux

    Ciao a tutti!! Sono dietro all'ennesimo problema per il passaggio da Win a Linux (che non ho).

    Come devo trattare una stringa tipo:
    "\Server2000\inetpub\wwwroot\Disegni\aaa1.jpg"

    perchè non mi crei problemi con Linux?
    Con questa stringa devo effettuare il "file_exists" e poi vedo visualizzare l'immagine, se presente, con "src".

    Sò che devo sostituire le "" con "/" ma come funziona per quelle precedenti la scritta Server2000??

    Grazie per l'aiuto
    Stefano


  • Moderatore

    la differenza di cui parli esiste ma non dipende da linux bensì dal server web normalmente usato con questo OS e cioè Apache....

    sotto unix ( e linux quindi ) è vero che lo slash \ va sostituito con / per indicare le directory....

    l'altra cosa di cui devi tener conto è che unix considera il primo entry nel filesystem come directory ROOT e cioè il punto di inizio da cui partire per localizzare tutti i file e le directory del filesystem...

    per esempio se vuoi verificare l'esistenza di un file presente nella directory tmp sotto linux devi semplicemente usare file_exists("/tmp/nomefile")....

    la cosa importante da notare è il primo slash /.....con quello slash tu dici al sistema di accedere alla directory tmp partendo però da root.....

    nel tuo caso i file .jpg si trovano nella directory wwwroot che è la root directory di IIS....per Apache sotto linux esiste la stessa cosa....

    per accedere alle directory che si trovano nella root directory di Apache ( che in genere all'interno del fs linux si trova in /var/www o /var/www/nome-vhost a seconda delle configurazioni e all'utilizzo o meno della funzionalità vhost ) puoi semplicemente usare i pathname relativi.....

    immagina di avere messo il tuo script php nella root di Apache e tutti i file .jpg nella sottodirectory /img, per verificarne la presenza devi semplicemente usare file_exists("img/aaaa1.jpg")

    nota che stavolta manca lo slash iniziale e questo indica al sistema che img va calcolata a partire dalla directory in cui si trova lo script e cioè /var/www

    riguardo la stringa Server2000 si tratta di una particolarità di windows e sotto linux semplicemente sparisce


  • User

    Perfetto, speigazione da 10 e lode!!!
    Grazie mille, seguirò i Tuoi suggerimenti.

    Se non Ti disturbo vorrei sapere se esite un metodo per controllare l'esistenza di un file prima dell'UpLoad. Se non erro file_exists mi consente di controllare solamente i files presenti sul server, vero?

    Grazie di nuovo
    Stefano