Visualizzazione risultati 1 fino 15 di 15

Discussione: Uploadify su altervista, non va?

  1. #1
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito Uploadify su altervista, non va?

    Sto cercando di installare questo script http://www.uploadify.com/ su un mio sito altervista.

    Ho fatto un esempio stupido seguendo le istruzioni del sito ma lo script viene eseguito senza problemi ma non va, non uploada nulla.

    Lo stesso script in un altro host gira regolarmente.

    C'è qualcosa di "noto" per il quale questo codice non riesce a girare su altervista?

  2. #2
    Guest

    Predefinito

    Hai controllato i permessi sulla cartella di upload?

    EDIT:

    Ho capito perchè non funziona.

    Dunque lo script fa riferimento a $_SERVER['DOCUMENT_ROOT'] che su altervista ha un comportamento diverso da quello che ci si aspetta (tralascio la spiegazione su questo punto).

    Per ovviare puoi aprire il file uploadify.php ed aggiungere, subito dopo le note questo

    Codice PHP:
    function resolveDocumentRoot() {
    $current_script = dirname($_SERVER['SCRIPT_NAME']);
    $current_path = dirname($_SERVER['SCRIPT_FILENAME']);

    $adjust = explode("/", $current_script);
    $adjust = count($adjust)-1;

    $traverse = str_repeat("../", $adjust);
    $adjusted_path = sprintf("%s/%s", $current_path, $traverse);

    return
    realpath($adjusted_path);
    }

    define('DOCUMENT_ROOT', resolveDocumentRoot());
    e poi sostituire

    Codice PHP:
    $_SERVER['DOCUMENT_ROOT']
    con

    Codice PHP:
    DOCUMENT_ROOT
    per cui la riga diventa

    Codice PHP:
    $targetPath = DOCUMENT_ROOT . $_REQUEST['folder'] . '/';
    Ultima modifica di simpleticket : 18-11-2011 alle ore 11.52.00

  3. #3
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito

    Ti ringrazio per il tempo che c'hai perso ma proprio non va.

    Guarda questo è il codice perso dal sito ufficiale: http://tinyurl.com/85egk9o

    Io ho solo creato il file index.htm come da loro istruzioni e modificato l'uploadify.php come mi hai suggerito ma non va proprio.

  4. #4
    Guest

    Predefinito

    L'ho provato su uno spazio altervista e funziona.

    Hai impostato i permessi correttamente?

    I percorsi sono corretti?

  5. #5
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito

    Citazione Originalmente inviato da simpleticket Visualizza messaggio
    L'ho provato su uno spazio altervista e funziona.

    Hai impostato i permessi correttamente?

    I percorsi sono corretti?

    Hai provato quello che ti ho passato senza modificare nulla? Che permessi hai dato alla cartella?

    Citazione Originalmente inviato da simpleticket Visualizza messaggio
    I percorsi sono corretti?
    Sto testando con gli stessi file che ho linkato, quindi se non li hai cambiati abbiamo gli stessi percorsi (l'upload dovrebbe farlo nella dir test_up).

    Se tu hai preso i file che ti ho linkato, messi sul tuo spazio, senza modificare nulla e tutto funziona beh.... allora non so che dire.
    Ho provato impostando i permessi della dir "test_up" dell'esempio che ti ho lincato a 777, 775 e 755 nulla.

    Ah... ho testato mettendo i file che ti ho linkato dentro una dir della root: DEMOTEST/ tutti i file del pacchetto.
    Ultima modifica di puz740 : 18-11-2011 alle ore 12.14.38

  6. #6
    Guest

    Predefinito

    una domanda

    la cartella test_up dove si trova rispetto a root?

    /test_up?
    /DEMOTEST/test_up?

    nel file uploadify.php hai scritto

    Codice PHP:
    $targetPath = $DOCUMENT_ROOT . $_REQUEST['folder'] . '/';
    la sintassi corretta è

    Codice PHP:
    $targetPath = DOCUMENT_ROOT . $_REQUEST['folder'] . '/';
    DOCUMENT_ROOT non è una variabile (quindi niente $) è una costante definita con define. (vedi il maiuscolo)
    Ultima modifica di simpleticket : 18-11-2011 alle ore 12.24.03

  7. #7
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito

    Citazione Originalmente inviato da simpleticket Visualizza messaggio
    /DEMOTEST/test_up?
    Questa.
    Ma tutti i file dello script stanno sotto DEMOTEST.

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da puz740 Visualizza messaggio
    Questa.
    Ma tutti i file dello script stanno sotto DEMOTEST.
    Allora oltre la correzione di prima (ho editato mentre scrivevi)

    fai attenzione anche a questa

    Codice PHP:
    'folder' : '/test_up',
    così stati dicendo che la cartella è /test_up.

    prova a mettere

    Codice PHP:
    'folder' : './test_up',

  9. #9
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito

    Andata!

    Grazie!

    Puoi spiegarmi a grandi linee cos'hai fatto qui: resolveDocumentRoot ?

    Te lo chiedo perchè devo usare lo script su più server e non vorrei che questo risolvesse solo su altervista.

    Grazie ancora.
    Ultima modifica di puz740 : 18-11-2011 alle ore 12.37.26

  10. #10
    Guest

    Predefinito

    l'array $_SERVER come il nome stesso suggerisce contiene alcuni parametri riguardanti il server.
    DOCUMENT_ROOT contiene il percorso ai file relativo al server (in generale).

    Ora, su Altervista, che ospita i suioi utenti su una struttura senza i VHOST, questa parte non funziona in quanto restituisce appunto il parametro relativo al server e non al singolo spazio.

    Per ricavarlo usi quella funzione che determina la root dal percorso assoluto dello script che lo esegue.

    PS. Quella funzione non me la sono inventata. L'ho trovata sulla documentazione di PHP solo che non mi ricordo più dove :P
    Ultima modifica di simpleticket : 18-11-2011 alle ore 12.50.34

  11. #11
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito

    Quindi posso pensare che funzioni anche su altri host?

  12. #12
    Guest

    Predefinito

    Se volevi sapere se funziona su altri host, la risposta è si, funziona su tutti gli host.

    Se ho tempo provo scriverti come funziona in dettaglio.

  13. #13
    puz740 non è connesso Utente giovane
    Data registrazione
    15-09-2004
    Messaggi
    61

    Predefinito

    Citazione Originalmente inviato da simpleticket Visualizza messaggio
    Se volevi sapere se funziona su altri host, la risposta è si, funziona su tutti gli host.

    Se ho tempo provo scriverti come funziona in dettaglio.
    Veramente grazie, troppo gentile!

  14. #14
    Guest

    Predefinito

    Allora provo a spiegarti.

    Faccio riferimento al sito dell'utente MIOSITO, in cui lo script gira dentro a
    /TEST/UNO/mioscript.php

    Codice PHP:
    $current_script = dirname($_SERVER['SCRIPT_NAME']);
    la cartella contenente lo script (riferito alla root)
    --> /TEST/UNO

    Codice PHP:
    $current_path = dirname($_SERVER['SCRIPT_FILENAME']);
    la cartella contenente lo script (percorso assoluto)
    -->/membri/MIOSITO/TEST/UNO

    Codice PHP:
    $adjust = explode("/", $current_script);
    esplodo la stringa usando il separatore / ...

    Codice PHP:
    $adjust = count($adjust)-1;
    e conto quante cartelle ci sono rispetto alla root
    --> 2 (TEST - UNO)

    Codice PHP:
    $traverse = str_repeat("../", $adjust);
    Creo una stringa contenente "../" per ogni cartella...
    -->("../../")

    Codice PHP:
    $adjusted_path = sprintf("%s/%s", $current_path, $traverse);
    e li appendo (come stringhe) alla fine di current path
    --> /membri/MIOSITO/TEST/UNO/../../

    Codice PHP:
    return realpath($adjusted_path);
    infine ritorno il path reale (.. equivale a "sali di un livello").
    --> /membri/MIOSITO

    Una alternativa più breve è

    Codice PHP:
    function resolveDocumentRoot() {
    $current_script = dirname($_SERVER['SCRIPT_NAME']);
    $current_path = dirname($_SERVER['SCRIPT_FILENAME']);

    return
    str_replace($current_script, '', $current_path);
    }
    da current_path elimino current_script. Semplice no?

  15. #15
    uaworks non è connesso Neofita
    Data registrazione
    18-02-2012
    Messaggi
    5

    Predefinito

    Scrivo solo per ringraziarti...ci stavo perdendo la testa!!

Regole di scrittura

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