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.
    • 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
                                          • D
                                            davide.al User Attivo • ultima modifica di

                                            la cartella la crea ma il file all'interno nn c'è....

                                            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