Visualizzazione risultati 1 fino 9 di 9

Discussione: Errore in apertura di un file

  1. #1
    Guest

    Predefinito Errore in apertura di un file

    scusate, credo di essere ricoglionito tutto insieme...

    ho questo codicillo:

    Codice PHP:
    $path = "http://".$_SERVER['SERVER_NAME']."/";

    $apri = $path."script/q2342f34f3w1e1d324";

    $vettore = file($apri);

    for(
    $i=0;$i<count($vettore);$i++){
    $vettore[$i] = trim($vettore[$i]);
    }
    non apre il file.
    la cosa irritante è che
    1) in altre pagine funziona
    2) se al posto di $apri inserisco semplicemente

    Codice PHP:
    $apri = fopen("../script/");
    allora lo apre.. anche se poi cmq, non crea il vettore attraverso il comando file().

    mi spieghereste che diavolo succede???

    grazie.

    PS: il file è esattamente quello. una stringa casuale senza estensione.

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

    Predefinito

    Il problema è dato dal fatto che su AlterVista non si possono effettuare delle connessioni verso l'esterno tramite PHP.
    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

  3. #3
    Guest

    Predefinito

    quindi?
    non capisco cosa signifnichi :(

    ho usato quel path per tutto, anche per la connessione al database...
    Ultima modifica di lsdforum : 13-03-2007 alle ore 14.00.17

  4. #4
    Guest

    Predefinito

    Devi usare percorsi relativi (con ./ e ../) e non assoluti (con http://...)

    Se fai qualche ricerca trovi molte info utili.


    Ciaoooo!!!!!

  5. #5
    Guest

    Predefinito

    il problema allora diventa un altro.

    non posso usare dei percorsi relativi statici, perchè le pagine a volte vengono incluse.
    l'inclusione sai bene che altera il path, per cui usando in una pagina che viene inclusa un paath relatvio, a seconda di chi la include ottengo il path giusto o sbagliato.

    per questo avevo usato una variabile $path che conteneva il percorso assoluto del sito, in modo da evitare errori.

    ma mi stai dicendo che è impossibile usare $path = "http://".$_SERVER['SERVER_NAME']."/"; ?

    come faccio allora??

    per gli include come facciO??
    ho i file del sito divisi per cartelle, in modo da avere maggiore ordine, tra inclusioni, script, etc.
    ecco perchè mi serve una variabile $path generica: la testata che viene inclusa deve cambiare percorso a seconda che sia invocata dall'index.php o dalla pagina script/pippo.php

    spero di aver spiegato il mio problema ora...
    Ultima modifica di lsdforum : 13-03-2007 alle ore 14.20.06

  6. #6
    Guest

    Predefinito

    Vedi se con questa lettura riesci a risolvere: http://forum.html.it/forum/showthrea...hreadid=805029


    Ciaooooooo!!!!!!!

  7. #7
    Guest

    Predefinito

    intanto grazie per avermi suggerito quella pillola su html.it

    me la son letta tutta, solo che no ho ben capito come utilizzarla...

    dove devo mettere:

    Codice PHP:
    define('SITE_PATH', dirname(__FILE__));
    proseguendo, potresti dirmi se ho capito bene?
    una volta messa quella definizione nel posto giuso, invece di usare la mia variabile $path che abbiamo conosciuto prima, posse semplicemente richiamare le inclusioni con
    Codice PHP:
    include(SITE_PATH . 'include/file.inc.php');
    ho capito bene?

    ma la definizione deve stare in ogni pagina?
    dove devo imporla?

    grazie.


    EDIT: allora, visto che non posso aprirne uno nuovo, benchè si sia OT, specifico meglio quanto ho fatto ma che non funziona :(

    ho fatto così:

    include/path.inc.php
    Codice PHP:
    define('o_PATH', dirname(__FILE__));
    #se si fa echo o_PATH in output si ottiene: /membri2/lsdforum/include/
    $e = explode("/", o_PATH);
    $e2 = "/".$e[1]."/".$e[2]."/";
    define('SITE_PATH', $e2);
    #se si fa echo SITE_PATH in output si ottiene: /membri2/lsdforum/
    in modo da avere il path assoluto del sito, senza rompere le scatole alle impostazioni di altervista.

    in ogni pagina contavo poi, di fare:
    include("path.inc.php");
    o al piu
    include("./include/path.inc.php");

    e poi invocare semplicemente la costante la dove serviva...
    che so:
    pagina script/mio_script.php:
    Codice PHP:
    include("./include/path.inc.php");
    include(
    SITE_PATH."include/pag_che_voglio_includuere.php");
    il problema è che col c@zz0 che funziona
    attraverso dei check e dei print la pagina path.inc.php funziona bene, genera un path assoluto, ma poi non va...

    perchè?

    grazie e ciao ciao
    Ultima modifica di funcool : 17-03-2007 alle ore 10.20.21

  8. #8
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Scusami, ma questa riga:
    Codice PHP:
    $e2 = "/".$e[1]."/".$e[2]."/";
    Non dovrebbe essere:
    Codice PHP:
    $e2 = "/".$e[0]."/".$e[1]."/";

  9. #9
    Guest

    Predefinito

    non lo so, fatto così l'output stampato sembra corretto: /membri2/lsdforum/

    il problema è che non funziona come Dio comanda il resto.
    nel senso che se provo ad includere sia lo script per la connessione al database, sia il file path.inc.php che serve proprio a definire la variabile SITE_PATH ottengo l'errore No dabase selected, come se non avessi inserito la pagina per la connessione.

    da ciò deduco che non funzioni come dovrebbe la faccenda sul SITE_PATH.

    qualcuno mi sa aiutare?

    grazie.

Regole di scrittura

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