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

    Concatenare in una variabile 2 variabili

    Questo è sempre stato un mio dubbio!

    Ho costruito un form di upload da 9 immagini, che poi passano a un'altra pagina php che compie l'uppaggio sul server.
    I nomi dei campi di upload sono miofile1, miofile2, miofile3... stavo creando un ciclo for per semplificarmi le operazioni nella seconda pagina, ma arrivo ad un problema.

    Essendo già $miofile1_name una variabile, come posso inserirci dentro l'altra variabile $a (che è quella che cambia nel ciclo for, vedi esempio qui sotto)?
    codice:
    for ($a = 1; $a <= 9; $a++)
    Ho provato con $miofile.a._name ma i file vengono chiamati tutti a_name; ho provato con $miofile.$a._name ma i file vengono chiamati 1_name, 2_name..

    Come si può fare?

  2. #2
    Mi domando se è una cosa possibile.. non trovo nulla con google

  3. #3
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Forse non ho capito bene ma non basta cambiare $a nel for con $i per esempio? cmq per concatenare due variabili basta fare:
    $variabile.$variabile2

  4. #4
    Se cambio $a nel for con $i poi dovrei includere $i in $miofile1_name, quindi non cambierebbe niente.

    Il problema è che le due variabili ($miofile1_name e l'incremento $a) non devo unirle una dopo l'altra, ma $a deve stare all'interno e sostituire l'1.
    (così nel ciclo for la funzione prenderà miofile1, miofile2, miofile3...)

    $miofile1_name --> $miofile.$a._name

    così non funziona.

    Mi sono chiarito meglio?

  5. #5
    Prova così

    codice:
    $appoggio=miofile.$a._name;
    ______________________________________

    Progresso Web.

  6. #6
    Originariamente inviato da caruccis
    Prova così

    codice:
    $appoggio=miofile.$a._name;
    Non funziona.
    L'output diventa: miofile1_name, miofile2_name...
    E' come se diventasse una stringa, non prendendo più il valore che sta dietro a miofileX_name.

  7. #7
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Secondo me nn hai spiegato bene cosa ti serve. Tu vuoi riutilizzare il nome creato dall'unione delle stringhe ma poi riutilizzarlo estraendo il valore determinato da $a? nomefile1_name . vuoi usarlo ancora e capire che e' 1 o 2 o qualsiaisi altro numero?

  8. #8
    Cerco di chiarirmi ancora.

    Nella pagina numero 1, quella con il form, ho 9 campi.
    codice:
    <input type="file" name="miofile1">
    <input type="file" name="miofile2">
    <input type="file" name="miofile3">
    Nella pagina 2, che è quella che recupera i nomi dei campi di input per fare l'upload, la procedura lunga (ma corretta) sarebbe:
    codice:
    move_uploaded_file($miofile1, 'images/'.$miofile1_name);
    move_uploaded_file($miofile2, 'images/'.$miofile2_name);
    move_uploaded_file($miofile3, 'images/'.$miofile3_name);
    dove $miofile1 è il file temporaneo, images è la cartella, e $miofile1_name è il nome del file che sto uppando.
    Insomma, una banale funzione di upload.

    La domanda è questa: come posso evitare di dover scrivere questa riga per ogni singolo campo di input?
    Per questo ho pensato di creare un ciclo for, che sostituisse a 1, 2, 3, un valore 'a' che si incrementasse.
    Ma non riesco.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova così:
    Codice PHP:
    for($i=1$i <= $n$i++)
    {
     
    $miofile1 $_FILES['miofile'.$i][tmp_name];
     
    $miofile1_name $_FILES['miofile'.$i]['name'];
     
    move_uploaded_file($miofile1'images/'.$miofile1_name);

    ciao

  10. #10
    Originariamente inviato da ken84
    prova così:
    Codice PHP:
    for($i=1$i <= $n$i++)
    {
     
    $miofile1 $_FILES['miofile'.$i][tmp_name];
     
    $miofile1_name $_FILES['miofile'.$i]['name'];
     
    move_uploaded_file($miofile1'images/'.$miofile1_name);

    ciao
    Ho tolto gli 1 (forse li avevi dimenticati) e funziona!
    Questo problema mi stava tirando scemo..

    Grazie ragazzi

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.