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

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

                                        Ma se mkdir($updir); viene sotituito cn md5.. ricordo una cosa del genere

                                        ??ì'

                                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                                          Magicamente i files compaiono in dir_upload ma nella email non riesco a vedere il link che mi fa vedere l'immagine.
                                          Che fare?

                                          0 Miglior Risposta Ringrazia Cita Rispondi

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

                                            Il problema adesso è il seguente:
                                            l'upload mi funziona ma nella email non vedo nessun link che mi rimanda all'immagine.
                                            Come posso ovviare a ciò?
                                            Un'altra cosa, questa funzione

                                            if (!move_uploaded_file($_FILES['file']['tmp_name'],$new_path))
                                            die ("errore nel caricamento file!");
                                            else
                                            {
                                            $link_allegato = "http://www.miositonet/dir_upload/$new_path";

                                            dice: se l'upload non avviene inviami il link.... vero?
                                            ma se non avviene l'upload il link della cartella vuota mi dovrebbe arrivare?

                                            Ma neanche quello mi arriva.

                                            if (!move_uploaded_file($_FILES['file']['tmp_name'],$new_path))
                                            die ("errore nel caricamento file!");
                                            else
                                            {
                                            $link_allegato = "http://www.miosito.net/dir_upload/$new_path";

                                            questa funzione è giusta?

                                            Grazie

                                            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