Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Lotte con l’hosting per indirizzo cartella e variabile $_SERVER

    Aiuto! Non ho una grande esperienza e devo “lottare” col servizio tecnico del mio hosting!!
    Aiutatemi a capire se dico bene o dico sciocco, ecco quanto:

    Ho utilizzato uno script per upload files trovato su freephp, che in locale funziona:

    <?
    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/

    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/cartellasito/htdocs/images/";
    $new_name = "";
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
    if(trim($_FILES["upfile"]["name"]) == "") {
    die("Non hai indicato il file da uploadare !");
    }
    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
    } else {
    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);
    }
    echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente>";
    ?>

    poi l’ho testato in remoto su un mio sito per poi impiegarlo definitivamente per un altro dominio; nelle prove non funzionava (Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload)e quelli dell’assistenza tecnica mi han detto di togliere la variabile $_SERVER["DOCUMENT_ROOT"] e scrivere semplicemente il percorso, così:

    $upload_dir = "D:\nomedominio.it\nomedominio.it\images";

    e in questo modo lo script funzionò.
    Quando ho attivato il nuovo spazio web per il sito definitivo dove dovevo fare gli upload, chiedendolo espressamente con caratteristiche identiche a quello delle prove, facendo tutto come ho fatto nelle prove, chiedendogli anche espressamente l’indirizzo della cartella di destinazione e i vari permessi di scrittura, lo script non funziona, loro se ne fregano, dicono che il server è configurato bene e mi dicono di spostare tutto sul server del sito delle prove!! Dico io, è possibile che non si riesca a fare funzionare lo script? L’errore è sempre il medesimo delle prove, ("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.") e secondo me non mi hanno detto giusto l’indirizzo assoluto della cartella da usare.

    Secondo Voi? Sto facendo delle figuracce con loro o mi posso in… con giusta ragione?
    Grazie Elena

  2. #2
    Utente di HTML.it L'avatar di aserena
    Registrato dal
    Feb 2003
    Messaggi
    310
    Mah.... il provider purtroppo nn può risolvere problemi di ogni utente, si limita a darti lo spazio web.

    Allora, per il tuo caso io farei così:
    1] Stampati il contenuto della var $upload_dir, giusto per capire cosa contiene, poi comportati di conseguenza.
    2] Sei sicura diaver settato i permessi delle dir correttamente? Secondo me si tratta proprio di un problema di permsessi, con un client ftp ( tipo smart ftp o la normale shell ) dovresti verificare di avere i permessi per poter scrivere.. evwntualmente li cambi

    Quindi: controlla che il percorso che dai sia corretto, esista e abbia i permessi di scrittura. Poi dovrebbe fungere..



    ciao
    La (!) è quella roba che in autunno si intristisce... perche': seccano i piselli, migrano gli uccelli, cadono i marroni, e se poi c'è anche la nebbia non si vede più un caXXo!! by Piero.mac @07/05

  3. #3
    Puoi ottenere le informazioni che ti servono in vari modi:
    uno è questo
    carica sul sito definitivo
    uno script con la funzione phpinfo()

    <?php

    phpinfo();

    ?>

    che ti da una visione di insieme di cosa è disponibile e come sono impostate le varie path del sistema.
    In a world without walls and fences - who needs windows and gates ?

  4. #4
    Sono su un host windows, i permessi di scrittura li ho chiesti a loro e loro dicono di averli attivati (come era successo nelle prove sull'altro sito).
    Cosa intendi per vedere cosa contiene la variabile $upload_dir ? Dovrebbe contenere il percorso della catrella, no? Dicono che il percorso della cartella (che è speculare a quello dell'altro sito) è giusto e anche questo me l'hanno dato loro
    $upload_dir = "D:\rtseng.it\rtseng.it\moduli";

    Boh...

  5. #5
    Grazie, proverò col phpinfo, nel frattempo ho sentito loro che dicono che il percorso
    $upload_dir = "D:\nome.it\nome.it\cartella";

    che mi han dato è giusto e le cartelle hanno i permessi giusti...

    Oltretutto il sito è di una azienda e contiene demo pesantissime da spostare; avevamo specificato le nostre necessità sull'upload di files (non mi riferisco alle demo pesantissime ma a dei loghetti dei prodotti)e mi sembra così ass4rd6 che lo script usato e riusato dagli utenti di questo forum non funzioni..

    graziegrazie comunque

  6. #6
    Prova a verificare con la funzione

    $upload_dir = "D:\rtseng.it\rtseng.it\moduli";

    $verifica =is_dir($upload_dir);
    var_dump($verifica);
    In a world without walls and fences - who needs windows and gates ?

  7. #7
    proverò a fare ciò che mi avete suggerito, grazie ancora purtroppo ora devo uscire e andare a laurà!

  8. #8
    Ho fatto le prove; la verifica is_dir etc. mi dà

    bool(false)
    e ho messo su il phpinfo, ma non è che abbia un'idea precisa di cosa dedurne. Credo che questo:

    PATH_TRANSLATED d:\rtseng.it\rtseng.it\phpinfo.php

    sia il percorso del phpinfo che ho messo su io, che concorderebbe con il percorso di cartella che mi avevano indicato.

    e mo' ?

  9. #9
    Scusate se insisto: ho guardato il phpinfo e da tutti i vostri suggerimenti ho pensato che il problema potesse stare nelle variabili d'ambiente (si dice così?) tipo $SERVER e $FILES che magari non in tutte le versioni di php o non su tutti i server sono disponibili .
    Allora ho cambiato il codice "depurandolo" di tutti gli elementi secondo me estranei e sospetti e ho scritto così:

    <?php
    $file_dir = "D:\rtseng.it\rtseng.it\moduli";

    copy ("$fupload", "$file_dir/$fupload_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    echo "L'upload del file $fupload_name è avvenuto correttamente

    ";
    ?>

    Naturalmente, sul dominio delle prove anche questo funziona, pure se al posto di copy metto move_uploaded_file, mentre sullo spazio definitivo c'è il solito errore "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload".

    Sbaglio a dire che probabilmente i permessi non sono stati dati o ci possono essere delle alternative? :master:

    Illuminatemi...

  10. #10
    Come è finita...

    Scrivo qui qual è stato alla fine il problema, magari potrà servire un giorno a qualche disgraziato che si troverà nella mia stessa situazione...

    Dopo varie prove con codice "depurato" da tutte le possibili variabili ambientali, mi sono alla fine inc*** con l'hosting ed è saltato fuori che il server che ospitava il sito "non era abilitato" per l'upload di files e tale sarebbe rimasto (mentre il pacchetto servizi lo prevedeva).
    L'unica soluzione propostami è stata quella di spostare tutto su un server "buono". Grazie al cielo, "senza nessuna spesa aggiuntiva..."

    Ringrazio comunque tutti quelli che mi hanno risposto, ho imparato che è meglio guardarsi intorno (col phpinfo, per esempio) prima di muovere qualsiasi passo...
    Tutto è bene quel che finisce quasi bene

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.