Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    10

    [PHP] Path locali (con backslash)

    Buongiorno a tutti! Sto sviluppando un sito in php e ho incontrato un problema su cui sono rimasto bloccato.
    Premetto che so che non si dovrebbero usare i backslash (\), ma ora vi espongo il problema..

    in un certo campo del mio db (mysql) ho un campo che individua il path di diverse immagini per permetterne sia la visualizzazione a video, sia il download da parte dell'utente.
    Finora ho sviluppato il software tenendo tutte le immagini in una sottocartella fissa all'interno della cartella madre del sito (è sviluppato in locale con apache sotto xampp ultima versione)

    ad esempio la visualizzazione:
    <img src=\"$anteprima[$id]\"></img>

    dove $anteprima[$id] (verificato con un echo) contiene il percorso esatto del file:
    se esso è un'indirizzo internet (http://www.sito_di_hosting.com/immagine.jpg) o come detto un indirizzo all'interno di htdocs (media/immagine.jpg) funziona tutto per il meglio.

    Ma ora avrei la necessità di distribuire tutti questi file (qualche migliaio) su diversi hard disk, connessi anche in rete locale, quindi avrei bisogno di immettere nel campo del db i percorsi locali (es. C:\immagine.jpg opp \\pc_in_rete\cartella_condivisa\immagine.jpg). Ho fatto le dovute prove, ma l'immagine non mi viene visualizzata..

    ho provato a visualizzare l'immagine con percorsi:
    c:\immagine.jpg
    c:\\immagine.jpg
    c:\\\immagine.jpg
    c:/immagine.jpg

    ma niente -.- So bene che il backslash è il carattere di escape, ma come potrei fare?

    ripeto che questo sito sviluppato in php sarebbe destinato a funzionare in locale sotto apache con la necessità di pescare file immagine da hard disk collegati sia direttamente al server o ad altri pc della rete locale..

    spero in qualche risposta.. e scusate la lunghezza! grazie a tutti!

  2. #2
    se il file deve essere passato al server http allora il percorso sara' un url tipico usato da internet.
    http://tuo_sito/immagine.jpg

    se devi caricarlo come file locale con un browser:

    file:///C:/immagine.jpg

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    10
    Originariamente inviato da piero.mac
    se il file deve essere passato al server http allora il percorso sara' un url tipico usato da internet.
    http://tuo_sito/immagine.jpg

    se devi caricarlo come file locale con un browser:

    file:///C:/immagine.jpg
    Innanzitutto grazie per la rapidità!

    Il mio caso è il secondo, ovvero file locale da browser.
    In effetti se nel browser scrivo file:///C:/ciao_t.jpg l'immagine la vedo senza problemi, invece da php con:
    echo "<img src=\"file:///C:/ciao_t.jpg\"></img>";
    niente! non compare nulla, come se non avessi scritto quella riga.. com'è possibile?

  4. #4
    perche' la invii al server apache e quindi si ragiona in termini di url.

    echo "<img src=\"http:/localhost/ciao_t.jpg\"></img>";

    il file deve essere nella cartella vista dalla "documentRoot". In un caso vai a spasso nelle cartelle del pc viste dal sistema operativo in quanto tali, nell'altro accedi solo alla cartella HOST visibile da apache nella documentRoot od eventuali altre cartelle visibili nei possibili virtual host.

    Insomma il server http non va a spasso per le cartelle come fa il OS e meno male.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    10
    Originariamente inviato da piero.mac
    perche' la invii al server apache e quindi si ragiona in termini di url.

    echo "<img src=\"http:/localhost/ciao_t.jpg\"></img>";

    il file deve essere nella cartella vista dalla "documentRoot". In un caso vai a spasso nelle cartelle del pc viste dal sistema operativo in quanto tali, nell'altro accedi solo alla cartella HOST visibile da apache nella documentRoot od eventuali altre cartelle visibili nei possibili virtual host.

    Insomma il server http non va a spasso per le cartelle come fa il OS e meno male.
    lo immaginavo, però sono ancora un principiante eheh

    quindi ora ti chiedo: è possibile rendere "visibili ad apache" determinate cartelle "sparse"? E quindi, come creo questi virtual host?
    Grazie ancora

  6. #6
    un virtual host e' solo un posto virtuale in cui simuli un altro indirizzo URL. Eventualmente per info su questo tipo di configurazione rivolgiti nel forum del server apache.

    Ma un virtual host non risolve l'andare a spasso nel pc tra le cartelle. Vai a spasso tra siti con nomi di dominio diversi. L'accedere a cartelle condivise da utenti non in rete locale prevede un lavoro di configurazione del router e di firewall. Se sei in rete locale accedi secondi i modi previsti dai vari sistemi operativi, ma anche in questo caso non riguarda piu' il php.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    10
    Originariamente inviato da piero.mac
    un virtual host e' solo un posto virtuale in cui simuli un altro indirizzo URL. Eventualmente per info su questo tipo di configurazione rivolgiti nel forum del server apache.

    Ma un virtual host non risolve l'andare a spasso nel pc tra le cartelle. Vai a spasso tra siti con nomi di dominio diversi. L'accedere a cartelle condivise da utenti non in rete locale prevede un lavoro di configurazione del router e di firewall. Se sei in rete locale accedi secondi i modi previsti dai vari sistemi operativi, ma anche in questo caso non riguarda piu' il php.
    Non vado a spasso tra le cartelle, ma (facciamo finta che D:\ sia un hard disk esterno collegato al server, da cui devo attingere immagini da interpretare col php) posso fare in modo di creare un virtual host sulla root di un hard disk (es. D:\) così da poterci "andare a spasso dentro"? ovvero "trasformare" "D:\" in ad esempio "disk1"?
    Dici che per quest'aspetto devo chiedere nell'altra sezione? Se si, proverò domani..
    e nel tag img cosa dovrò scrivere?
    cmq grazie mille delle dritte! 'notte

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.