Visualizzazione risultati 1 fino 13 di 13

Discussione: Problema include su file esterno

  1. #1
    L'avatar di alterstoria
    alterstoria non è connesso Utente giovane
    Data registrazione
    11-01-2004
    Messaggi
    53

    Unhappy Problema include su file esterno

    Ciao a tutti,
    già da parecchio tempo uso l' include del php ma sempre su file interni al mio sito, per una mia nuova pagina ho provato a fare un include del genere:

    <? include ("http://www.nomesitoesterno.org/diario.htm"); ?>

    questo per far si che i pareri di un mio amico, non molto esperto, possano giungere indipendentemente sul mio sito senza che io debba intervenire, modificando semplicemente un file html "diario.htm" sul suo sito.

    Il codice è giusto perché se utilizzo l'Apache e i moduli Php del mio computer il tutto funziona perfettamente (sul mio pc), ma se provo il tutto in rete dal mio sito di altervista non succede nulla, ovvero non ottengo messaggi di errore ma solo il vuoto!!!

    Forse la funzione di include su siti esterni (anche quelli di AlterVista) è stata bloccata da AlterVista? Avete altre soluzioni (no-database)?

  2. #2
    Guest

    Predefinito

    no altervista non può aprire file esterni

  3. #3
    L'avatar di alterstoria
    alterstoria non è connesso Utente giovane
    Data registrazione
    11-01-2004
    Messaggi
    53

    Thumbs up

    Bene, probabilmente ho capito qual è il problema…
    Se nel Php sono stati disabilitati gli "URL fopen wrappers" non è possibile utilizzare il noto include() su HTTP e affini (di default questi “URL fopen wrappers” sono attivi, ed ecco spiegato perché usando l’Apache e il Php installati sul mio computer il tutto funzionava).
    Non ho verificato il ciò, ma per chi volesse farlo credo basti usare il comodo phpinfo(), e leggere alla riga allow_url_fopen: se tale opzione è abilitata sarà possibile specificare, nell’ include(), il file da includere usando un URL con HTTP o altri wrapper supportati, se invece, come ho motivo di pensare, è disabilitato, allora questa possibilità non esiste.

    Del resto, questo non vuol dire che non si possano “importare” file esterni – ho posto il problema, trovo la soluzione…
    Infatti, se pensiamo ai contatori di visite, o ad altri servizi del genere offerti da molti siti, essi utilizzano in continuazione file esterni: ciò è inevitabile. Essi, anziché usare l’include() del Php, o il simile include virtual del Ssi (che peraltro obbligherebbero gli utenti all’utilizzo di file con estensione .php o .shtml), adoperano JavaScript.
    L’unico inconveniente è che il browser dell’utente deve essere abilitato all’esecuzione di tale codice javascript (e del resto, ormai quasi tutti i navigatori possiedono un browser che supporta, ed è abilitato, a questo linguaggio di script).

    Qui di seguito riporto un esempio pratico per creare un “inclusione” mediante javascript:

    CODICE PAGINA PRINCIPALE:


    <html>
    <head>
    <title>Esempio inclusione di codice esterno al sito</title>
    </head>

    <body>

    <script language="JavaScript" type="text/javascript" src="http://www.nomesito.it/esempio.js"></script>
    <script language="javascript" type="text/javascript">news();</script>
    <noscript><p align="center">Per poter visualizzare questo testo è necessario che il tuo browser sia abilitato all’utilizzo di JavaScript</p></noscript>

    </body>
    </html>



    CODICE FILE esempio.js (locato per supposizione dell’esempio all’indirizzo: http://www.nomesito.it/esempio.js)

    function news() {
    document.write('<p>Qui deve essere riportare il codice che vuoi sia poi incluso nella pagina principale </p>');
    }




    AVVERTENZE PER I MENO ESPERTI
    1. Il nome del file .js può essere dato a piacimento, e il percorso presente nella pagina principale (src="http://www.nomesito.it/esempio.js") va modificato di conseguenza, secondo le proprie esigenze.
    2. Allo stesso modo il nome della funzione (da me chiamata news) può essere variato con un altro; è importante ricordarsi di cambiare tale nome sia nel vostro file .js che nella pagina principale. Inoltre non dare alla funzione nome uguale a “parole chiave” del javascript (non usare per esempio “new”, e comunque usando termini italiani non si dovrebbe correre questo rischio).
    3. Ovvimente il sistema va usato con cautela nel rispetto delle norne AV, perché il testo incluso nelle pagine è di vostra responsabilità (per quanto riguarda contatori e altri servizi ci si affidi a siti seri)

    Spero di essere stato sufficientemente chiaro in questa mia piccola spiegazione, se non lo sono stato abbastanza, e avete dei dubbi, potete scrivermi direttamente una mail (non ho quasi mai tempo di leggere il forum) cliccando su mio nick in alto a fianco all’avatar ,indicandomi cosa non avete capito. Vi risponderò il prima possibile, se possibile .

    Ultima modifica di alterstoria : 27-02-2006 alle ore 16.54.13

  4. #4
    Guest

    Predefinito Grazie!

    Sei un genio!!!!
    Grazie a te e ai tuoi preziosi consigli anke un "ignorante informatico" come me può aggiornare il proprio(anzi, il tuo sito) sito!
    Grazie 1000
    Dambro

  5. #5
    Guest

    Predefinito Include php su altervista

    Ciao,
    ho appena uppato il sito aggiornato e scopro che gli include del php non mi funzionano.

    Suppongo che sia poichè il file sia nel posto sbagliato o magari (che ne so..) abbia l'estensione sbagliata.

    C'è una dirctory particolare nel quale mettere i files include?
    I files include, devono avere estensioni particolari?

    Grazie per qualsiasi risposta.

    Robert

  6. #6
    Guest

    Predefinito

    l'unico requisito per gli include è che siano scritti correttamente

    percorso/nome_file.estensione

    nient'altro

    mavericck

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da fastec
    Ciao,
    ho appena uppato il sito aggiornato e scopro che gli include del php non mi funzionano.

    Suppongo che sia poichè il file sia nel posto sbagliato o magari (che ne so..) abbia l'estensione sbagliata.

    C'è una dirctory particolare nel quale mettere i files include?
    I files include, devono avere estensioni particolari?

    Grazie per qualsiasi risposta.

    Robert
    Se non sono al di fuori del tuo sito, l'unico problema è che avrai sbagliato il percorso.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    Guest

    Predefinito

    i files include non devono essere messi in una cartella specifica e nè devono avere un estensione specifica.. avrai sbagliato l'url

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Se non sono al di fuori del tuo sito, l'unico problema è che avrai sbagliato il percorso.
    Non è questione di percorso, è capitato anche a me... e non sono riuscito a risolvere (volevo inserire una tag board scritta in php, risiedente nel mio spazio, tramite include).

    Ho fatto un paio di tentativi, poi mi son "stufato" ed ho usato un iframe (senza ritoccare il percorso del file) ed ha preso ad andare...


  10. #10
    Guest

    Predefinito

    magari sembra banale come cosa, ma occhio alle maiuscole, altervista è su server linux, che gestisce il files in maniera case sensitive
    ciao!

  11. #11
    Guest

    Predefinito

    Grazie a tutti per la soluzione.

    Sarebbe però opportuno che ci fosse una directory includes protetta (ovvero che si possa raggiungere solo col proprio account via ftp) dove piazzare i files include e che fosse settata in maniera che gli include siano tali semplicemente mettendo il nome del file e non tutto il percorso.

    Apache questo lo fa.

    Un motivo: se come include c'è il file coi dati per la connessione al database... così siamo poco al sicuro.

    Robert
    Ultima modifica di fastec : 15-03-2006 alle ore 01.31.34

  12. #12
    Guest

    Predefinito

    fastec non è chiaro il tuo post.
    Gli include() qui su AV funzionano benissimo per i file del medesimo account (cioè che puntano a file che risiedono nello stesso account di cui fa parte lo script dove risiede l'include).
    Questo significa, in sostanza, che connessioni tramite php a risorse (files ecc) esterne sono disabilitate.

    Inoltre, ribadisco che ai file e al database di un account AV si ha accesso *soltanto* da quell'account, e *in nessun modo* dall'esterno.


    Ciao!

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da fastec
    Grazie a tutti per la soluzione.

    Sarebbe però opportuno che ci fosse una directory includes protetta (ovvero che si possa raggiungere solo col proprio account via ftp) dove piazzare i files include e che fosse settata in maniera che gli include siano tali semplicemente mettendo il nome del file e non tutto il percorso.

    Apache questo lo fa.

    Un motivo: se come include c'è il file coi dati per la connessione al database... così siamo poco al sicuro.

    Robert
    Ma sarebbe inutile, cioè puoi farlo benissimo te... Se tu in php includi un file esterno non si vede assolutamente nulla, quindi la tua cartella o file che includi la conosci tu e apache...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •