Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Upload file in php da zero
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      momino User Attivo • ultima modifica di

      Potresti uploadare il file sul tuo spazio web e magari inviarti il link nel messaggio di posta elettronica...
      Semplice e funzionale :wink3:

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • D
        davide.al User Attivo • ultima modifica di

        come se fa? 🙂

        😢

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          momino User Attivo • ultima modifica di

          Allora, partiamo dalle basi: la pagina html deve contenere un form con "enctype=multipart/form-data" per poter caricare i file tramite php.
          La pagina php che accoglie i dati deve avere questo codice:
          [php] if ($_FILES['foto']['name'] != '')
          {
          $updir = "./dir_upload/";
          if (!is_dir($updir))
          mkdir($updir);
          $ext = $_FILES['foto']['type'];
          if ($FILES['foto'] < 500000)
          {
          if (($ext == 'image/jpeg') | ($ext == 'image/jpg') | ($ext == 'image/pjpeg') | ($ext == 'image/gif') | ($ext == 'image/png') | ($ext == 'image/x-png') | ($ext == 'image/bmp') | ($ext == 'image/tiff'))
          {
          $nome = str_replace(' ','
          ',$FILES['foto']['name']);
          $nome = str_replace("'","
          ",$nome);
          $new_path = $updir.$nome;
          if (!move_uploaded_file($_FILES['foto']['tmp_name'],$new_path))
          die ("errore nel caricamento file!");
          else
          {
          $link_allegato = "url_assoluta_del_sito/$new_path";
          /* invia la mail con nel testo la variabile $link_allegato */
          }
          }
          }
          }[/php]Spero sia chiaro, se non fosse così continua a chiedere spiegazioni 😉

          p.s. io l'ho fatto in modo ke controlli l'estensione dei file immagine, e una dimensione non superiore a 500k circa, ma tu puoi metterci quello che vuoi, sia come estensione ke come dimensione.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • D
            davide.al User Attivo • ultima modifica di

            Ma alla fine che faccio invia modulo testo e file allegato insieme lo invio con il tasto invia modulo vero?

            Poi, io all'inizio del form ho:
            <form action="invio.php" method="post" id="modulo">

            tu mi dici
            "enctype=multipart/form-data"

            Non è che non mi funziona ?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              momino User Attivo • ultima modifica di

              infatti l'enctype va inserito insieme a method, id, e action, risultando:
              <form action="invio.php" method="post" id="modulo" enctype="multipart/form-data">

              Ovviamente per caricare un file, devi mettere nel tuo form:
              <input type="file" name="allegato">

              E carichi il tutto col pulsante "invia" del form.

              p.s. nel codice php che ti ho scritto prima, dove c'è la variabile "$_FILES['foto']", "foto" è il nome dell'input file ke hai nel form html; se nel form metti un input file con name="allegato" (come ho fatto poco prima), nella pagina php richiamerai quel valore con "$_FILES['allegato']".

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • D
                davide.al User Attivo • ultima modifica di

                Stò provando adesso
                ma poi i file allegati dove vanno?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  momino User Attivo • ultima modifica di

                  Vanno in una directory che io ho chiamato:
                  $updir = "./dir_upload/";
                  cioè una cartella che sta nella stessa posizione del file "invio.php" che elabora il tutto.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • D
                    davide.al User Attivo • ultima modifica di

                    La crea da sola?
                    E il link nella email?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • M
                      momino User Attivo • ultima modifica di

                      Nel codice php che ti ho scritto prima, se non esiste quella directory te la crea automaticamente.
                      Il link da mettere nella mail è l'url assoluto del tuo sito (compreso di http e di www) concatenato la variabile $new_path.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • D
                        davide.al User Attivo • ultima modifica di

                        Mi carica i files uploadati sul server, come posso cambiarla directory? La voglio mettere in una cartella che si chiama uploads

                        e il link nella mia_email per vedere il file allegato?

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • M
                          momino User Attivo • ultima modifica di

                          Se vuoi cambiare directory, basta cambiare il valore della variabile $updir nel mio script php;
                          leggi sopra come è composto il link dell'allegato....

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • D
                            davide.al User Attivo • ultima modifica di

                            Così?
                            $link_allegato = "http://www.miosito.net/uploads.$new_path";

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • M
                              momino User Attivo • ultima modifica di

                              Sostituisci il "." tra uploads e $new_path con "/" e sei a posto!

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • D
                                davide.al User Attivo • ultima modifica di

                                La cartella si è creata dir_upload mi va bene ma i files non ci sono all'interno, non carica....

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • M
                                  momino User Attivo • ultima modifica di

                                  Hai provato a togliere il limite sulla dimensione e il filtro sulle estensioni? Se vuoi tenere queste limitazioni, sei costretto a rispettarle...

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • D
                                    davide.al User Attivo • ultima modifica di

                                    Ho fatto > al posto di <

                                    if ($_FILES['file'] > 500000)

                                    qua dici?
                                    Non funziona lo stesso.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • M
                                      momino User Attivo • ultima modifica di

                                      Prova a scrivere** if (true)**, toglilo per ora il controllo, così vediamo se è quello il problema; e così fai anche dove controlla l'estensione del file da caricare; sono quei 2 gli unici controlli che potresti non rispettare nel caricare il file, perchè i permessi di scrittura nella cartella ci sono tutti (0777 di default), l'unico intoppo possono essere quei 2 controlli.
                                      Toglili e riprova.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • D
                                        davide.al User Attivo • ultima modifica di

                                        Niente ancora... non carica li files....

                                        😞

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • D
                                          davide.al User Attivo • ultima modifica di

                                          Ma if (true)
                                          al posto di
                                          if ($_FILES['file'] < 500000)

                                          ?

                                          Ma alla fine non ci vuole ---> ;

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • D
                                            davide.al User Attivo • ultima modifica di

                                            questo è il codice

                                            [php] if ($_FILES['file']['name'] != '')
                                            {
                                            $updir = "./dir_upload/"; // il percorso dove upload i file sul server
                                            if (!is_dir($updir))
                                            mkdir($updir);
                                            $ext = $_FILES['file']['type'];
                                            if ($FILES['file'] < 500000);
                                            {
                                            if (($ext == 'image/jpeg') | ($ext == 'image/jpg') | ($ext == 'image/pjpeg') | ($ext == 'image/gif') | ($ext == 'image/png') | ($ext == 'image/x-png') | ($ext == 'image/bmp') | ($ext == 'image/tiff'))
                                            {
                                            $nome = str_replace(' ','
                                            ',$FILES['file']['name']);
                                            $nome = str_replace("'","
                                            ",$nome);
                                            $new_path = $updir.$nome;
                                            if (!move_uploaded_file($_FILES['foto']['tmp_name'],$new_path))
                                            die ("errore nel caricamento file!");
                                            else
                                            {
                                            $link_allegato = "http://www.miositonet/uploads/$new_path"; // il link che ti invia via email
                                            /* invia la mail con nel testo la variabile $link_allegato */
                                            }
                                            }
                                            }
                                            }

                                            ?>[/php]

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti