Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    PHP Variabili impossibili

    Ciao a tutti, ecco il problema.

    ho due file config.php incluso in upload_immagini.php
    il file config.php contiene solo la variabile > $IMGPATH = "/home/public_html/immagini/";

    il file upload immagini non carica tale variabile in questo pezzo di codice.

    codice:
    move_uploaded_file($_FILES['image']['tmp_name'], "$IMGPATH".$_FILES['image']['name'])
    il codice si blocca.

    perchè?
    centrano gli apici usati in entrambi i casi???
    Pensando di si ho fatto al prova anche togliendoli, ma ottengo lo stesso risultato.

    ringrazio in anticipo e chiedo un grande aiuto.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Cioè tu includi 2 file con lo stesso nome? Magari con include_once()?

    Comunque i doppi apici attorno a $IMGPATH non servono.

  3. #3
    Originariamente inviato da Alhazred
    Cioè tu includi 2 file con lo stesso nome? Magari con include_once()?

    Comunque i doppi apici attorno a $IMGPATH non servono.
    Scusami ho sbagliato, non includo due file, intendevo dire che ho 2 file...1 config.php l'altro, upload_immagini.php.

    ho provato ma non funziona.
    hai idea del perchè?

  4. #4
    che errore ti da?

  5. #5
    che errore ti da
    file config.php



    codice:
       
    //Path assoluto funzioni php
    $FUNZIONIPHP = "/home/curemiofarmaceuticheorg/public_html/FUNZIONI/FUNCTION.PHP";
     //Path assoluto della cartella immagini -> IMGPATH 
     $IMGPATH = "/home/oltrepe1/public_html/immagini/";     
     //INCLUDO ALL'INTERNO DI QUESTO FILE IL FILE  //FUNCTION.PHP(con le funzioni dell'applicazione web)
    include("$FUNZIONIPHP");
    file FUNCTION.PHP


    codice:
    //SPOSTO IL FILE APPENA UPLOADATO NELLA CARTELLA CONTENENTE LE IMMAGINI $IMGPATH
    move_uploaded_file($_FILES['image']['tmp_name'], $IMGPATH.$_FILES['image']['name']);
    echo("il file è stato caricato qui: $IMGPATH");
    Non da nessuno errore, semplicemente non carica il file nella cartella corrispondente, e l'echo non scrive il valore della variabile imgpath.

    se invece copio il testo contenuto in config nella pagina function.php, tutto funziona...ma non è ciò che mi serve.


    grazie intanto

  6. #6
    Originariamente inviato da bigdoll
    file config.php



    codice:
       
    //Path assoluto funzioni php
    $FUNZIONIPHP = "/home/curemiofarmaceuticheorg/public_html/FUNZIONI/FUNCTION.PHP";
     //Path assoluto della cartella immagini -> IMGPATH 
     $IMGPATH = "/home/oltrepe1/public_html/immagini/";     
     //INCLUDO ALL'INTERNO DI QUESTO FILE IL FILE  //FUNCTION.PHP(con le funzioni dell'applicazione web)
    include("$FUNZIONIPHP");
    file FUNCTION.PHP


    codice:
    //SPOSTO IL FILE APPENA UPLOADATO NELLA CARTELLA CONTENENTE LE IMMAGINI $IMGPATH
    move_uploaded_file($_FILES['image']['tmp_name'], $IMGPATH.$_FILES['image']['name']);
    echo("il file è stato caricato qui: $IMGPATH");
    Non da nessuno errore, semplicemente non carica il file nella cartella corrispondente, e l'echo non scrive il valore della variabile imgpath.

    se invece copio il testo contenuto in config nella pagina function.php, tutto funziona...ma non è ciò che mi serve.


    grazie intanto

    tieni presente che include non è restrittivo per php e quindi non blocca l'esecuzione in caso di problemi di io
    sostituisci include con require, dopodiché se a schermo non vedi errori è perché nel php.ini o da script hai impostato
    display_errors su E_NONE

    prova a mettere ad inizio pagina
    error_reporting(E_ALL);

    e così vedi cosa ti dice

  7. #7

    aggiornamento

    Intanto ringrazio chi mi ha risposto...passati 2 giorni non si è ancora torvata la soluzione...

    però un aggiornamento di rilievo c'è stato.

    Decisi a non dare la colpa all'include od al require...abbiamo caricato nel file FUNCTION.PHP tutto ciò che era contenuto nel file config.php, ed il risultato qual'è stato?

    lo stesso! nessuna di quelle variabili, compreso $IMGDIR viene riconosciuta, a meno che non vengano di volta in volta inizializzate all'interno di ciascuna funzione, contenuta nel file...impossibile ovviamente solo l'idea di doverlo fare...

    quando si trovavano nel file config, ho provato anche $IMGDIR = 'tatatata';
    global $IMGDIR;

    ma non si è risolto niente.

    ora abbiamo riportato le variabili nel file config.php, senza nessuna modifica sostanziale...qualcuno è in grado di darmi la soluzione al problema?

    grazie...

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    devi familiarizzare con il concetto di scope
    normalmente non puoi utilizzare una variabile dichiarata fuori da una funzione al suo interno almeno che non la passi alla funzione o non dichiari la variabile globale.
    sometimes it's just like teaching pigs how to fly

  9. #9
    Originariamente inviato da nickcv
    devi familiarizzare con il concetto di scope
    normalmente non puoi utilizzare una variabile dichiarata fuori da una funzione al suo interno almeno che non la passi alla funzione o non dichiari la variabile globale.
    Forse non mi sono spiegato... ho dichiarato le variabili globali utilizzando la sintassi seguente fuori dalle funzioni.

    codice:
    $variabile = "testo"; \n global $variabile;
    Ciò nonostante le funzioni, non prendono in considerazione determinate variabili, mentre ne prendono in considerazione delle altre che sono in ogni caso, dichiarate alla stessa maniera(una ad esempio che ho creato io è $URL con la url del sito di riferimento.)

    cosa intendi invece per passarle ad una funzione? scriverla tra parentesi ?

    grazie intanto per la risposta.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    global va utilizzato all'interno della funzione, non fuori da essa.

    http://php.net/manual/en/language.variables.scope.php

    studia le basi, comunque usare le globali non è mai saggio, porta spesso e volentieri a vagonate di errori.

    passare una variabile ad una funzione vuol dire sì metterla come argomento della funzione stessa:

    myFunction($var);

    ti consiglio di studiare un pò e di cercare di evitare l'uso di globali, sono uno dei primi segni di una cattiva programmazione... piuttosto usa un singleton.
    sometimes it's just like teaching pigs how to fly

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 © 2024 vBulletin Solutions, Inc. All rights reserved.