Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Forum :: Programmazione.it :: PHP :: Problema generazione link HREF in locale
Scritto da Christian Bencivenni a.k.a. xtian il 13-10-2007 ore 08:45
Ho un problema da risolvere e vorrei il vostro parere.
Ho sviluppato una applicazione php che gira in locale (tramite easyphp) per gestire delle presentazioni powerpoint.
Tutto funziona correttamente e tramite il codice php genero delle pagine dinamiche con i link alle presentazioni sul disco c.
Quello che non riesco a capire è perchè il browser non mi apre i collegamenti HREF. Clicco sopra e non fa nulla.
Se però salvo la pagina visualizzata in locale (quindi dopo il parsing del motore PHP) in html semplice li apre normalmente.
Qualche idea?

La pagina parsata in HTMl ha un (a mio giudizio) normale link come questo:

Pinco
pallino

Un collega mi ha fatto venire il dubbio che il webserver non riesca a caricare i file su disco (come si vede il percorso locale è una directory e non un indirizzo) ma non
posso nemmeno convertire tutto in indirizzi URL perchè la routine di php deve navigare le directory.

Ho fatto una prova e riesco ad aprirle utilizzando dei link relativi ma questo mi costringe a tenere tutte le presentazioni all'interno della directory del webserver.

Qualcuno ha qualche suggerimento?
Precedente: Anjuta, OpenGL ed il mio primo programma in C++
Successiva: [VBA di WORD] Problema con MailMerge
Intervento di Pierpaolo Cira a.k.a. pierpaoloc del 15-10-2007 ore 13:25
Marchese
Marchese

(1372 interventi)
Iscritto il 17-01-2006
Se ho ben capito...
Se la tua è un'applicazione web che gira su un server web, non ha importanza che risieda in locale oppure meno... tanto il tuo server genererà sempre dei percorsi "file://C:/...".
Pertanto la tua applicazione dovrebbe sempre funzionare correttamente sulla tua macchina.
Chiaramente non puoi pretendere che se qualcuno si collega alla tua applicazione da un'altra macchina riesce a vedere i file che puntano al percorso sul tuo disco.
Infatti il client (browser) conterrà sempre il link ad un percorso assoluto su filesystem e quindi cercherà i file in quel percorso sulla macchina del browser stesso...
Intervento di Christian Bencivenni a.k.a. xtian del 15-10-2007 ore 14:38, Ravenna (RA)
Plebeo
Plebeo
(39 interventi)
Iscritto il 21-05-2003
Citazione:
Se ho ben capito...
Se la tua è un'applicazione web che gira su un server web, non ha importanza che risieda in locale oppure meno... tanto il tuo server genererà sempre dei percorsi "file://C:/...".
Pertanto la tua applicazione dovrebbe sempre funzionare correttamente sulla tua macchina.
Chiaramente non puoi pretendere che se qualcuno si collega alla tua applicazione da un'altra macchina riesce a vedere i file che puntano al percorso sul tuo disco.
Infatti il client (browser) conterrà sempre il link ad un percorso assoluto su filesystem e quindi cercherà i file in quel percorso sulla macchina del browser stesso...

Nono.
Funziona tutto in locale.
Ho usato PHP perchè lo conosco e perchè le visualizzazioni le faccio tramite browser. Con PHP funziona tutto perfettamente e naviga tutte le directory correttamente. In pratica se io costruisco il link ad una presentazione ppt utilizzando PHP, il link semplicemente non va. se invece la parso e apro la pagina HTML così ottenuta funziona.
da quel che ho capito il web server non riconosce i percorsi interni alla macchina locale.
Per ora ho risolto utilizzando link relativi. Questo però mi costringe a tenere le presentazioni nella directory del web server (www per easyphp).
Intervento di Pierpaolo Cira a.k.a. pierpaoloc del 15-10-2007 ore 17:26
Marchese
Marchese

(1372 interventi)
Iscritto il 17-01-2006
Citazione:
Nono.
Funziona tutto in locale.
Ho usato PHP perchè lo conosco e perchè le visualizzazioni le faccio tramite browser. Con PHP funziona tutto perfettamente e naviga tutte le directory correttamente. In pratica se io costruisco il link ad una presentazione ppt utilizzando PHP, il link semplicemente non va. se invece la parso e apro la pagina HTML così ottenuta funziona.
da quel che ho capito il web server non riconosce i percorsi interni alla macchina locale.
Per ora ho risolto utilizzando link relativi. Questo però mi costringe a tenere le presentazioni nella directory del web server (www per easyphp).

Mi pare strano, considerando che Php solo da poco tempo supporta ANCHE pecorsi non assoluti quando lavora con i file.

Mi faresti un esempio (copia e incolla qui) di un link ad una presentazione visto dal browser (tasto dx e "copia collegamento")?
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.24 secondi.