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. Inserire URL immagine in un form e poi controllarne l'autenticità
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      alexmiller User • ultima modifica di

      Inserire URL immagine in un form e poi controllarne l'autenticità

      Salve, per una mia pagina di profilo, vorrei far sì che gli utenti possano inserire l'url di una loro immagine da usare come avatar, ma per controllare che nel form venga controllato il formato, che dovrebbe essere .jpeg, .gif, .jpg, .png ecc... Come fò?
      Grazie in anticipo

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • F
        filippotoso User Attivo • ultima modifica di

        Puoi controllare il content-type (es. $_FILES['userfile']['type']) oppure il nome del file (es. $_FILES['userfile']['name']).

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          alexmiller User • ultima modifica di

          tipo:

          if $_FILES['nomefile?']['.jpg'] ?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • F
            filippotoso User Attivo • ultima modifica di

            Esegui questo codice per capire cosa intendo:

            [php]<pre><?php print_r($_FILES); ?></pre>[/php]

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • I
              ilnetsurfer User Attivo • ultima modifica di

              Hai due possiilità:
              o utilizzi il tipo MIME:
              [php]<?php
              $array = array("image/jpeg","image/gif","image/png");//Array con i tipi MIME
              if(in_array($_FILES['file']['type'],$array)){//Controlla se il tipo è presente nell'array
              echo "Ok";//true
              }
              else
              {
              echo "formato non supportato";//false
              }
              ?>[/php]Oppure:
              [php]<?php
              $array = array("gif","jpg","png","bmp");
              $ext_file = explode("." , $_FILES['file']['name']);//divide la stringa in base al punto(es $name ="img.mia.png" con explode $name[0] = "img" $name[1] = "mia" $name[2] = "png"
              $count_ext_files = count($ext_file)-1;//conta quante stringhe ci sono adesso meno l'ultima(a causa dello zero)
              $ext = $ext_file[$count_ext_files];//eccoci restituita l'estensione
              if(in_array($ext,$array)){//Controlla se il tipo è presente nell'array
              echo "Ok";//true
              }
              else
              {
              echo "formato non supportato";//false
              }
              ?>[/php]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                alexmiller User • ultima modifica di

                Sarò io che non mi sono fatto capire bene, io volevo far sì che l'URL venga controllato e assicurato che finisca in un formato immagine, oppure restituisce un errore. Non è un Upload.

                EDIT: Forse ho detto la scemenza della 10 di sera, non sarà che il tuo secondo esempio controlli la parte dopo il "."? Se fosse così, non deve controllare un file, ma la fine di un URL...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  filippotoso User Attivo • ultima modifica di

                  Se l'utente inserisce un URL in un campo input text (o in una textarea), puoi comunque utilizzare parte del codice suggerito da ilnetsurfer (quella con l'array delle estensioni).

                  Tieni comunque presente che l'utente potrebbe voler inserire un URL verso una risorsa dinamica (es. example.com/image?id=1) ed in quel caso il metodo non funzionerebbe.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    alexmiller User • ultima modifica di

                    Quindi è consigliabile inserire un form di Upload?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • F
                      filippotoso User Attivo • ultima modifica di

                      Dipende dal fine della tua applicazione. Solitamente questa funzione viene implementata in vari modi (URL, upload e scelta da una lista predefinita di immagini).

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • A
                        alexmiller User • ultima modifica di

                        É un piccolo progetto ancora, agli utenti non costerà niente salvarsi l'immagine nel PC e caricarla 🙂 . Magari ora vedo se riesco a far funzionare quel vecchio script di upload. Thanks.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • F
                          filippotoso User Attivo • ultima modifica di

                          Per l'upload puoi provare con il codice del manuale ufficiale. Se vuoi comunque usare l'URL, prova con questo codice:

                          [php]<?php
                          $url = 'inserisci qui il tuo URL';
                          $array = array("gif", "jpg", "png", "bmp");
                          $ext = substr($url, strrpos($url, '.') + 1);
                          if (in_array($ext, $array)) {
                          echo "Ok";
                          } else {
                          echo "formato non supportato";
                          }
                          ?> [/php]

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • A
                            alexmiller User • ultima modifica di

                            e questo cerca solo "in fondo" all'URL per il formato, no?

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • F
                              filippotoso User Attivo • ultima modifica di

                              Esatto. Se vuoi una funzione più accurata puoi farla applicare alla sola componente path restituita dalla funzione parse_url()

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • A
                                alexmiller User • ultima modifica di

                                blblblblblbl, non dico altro. 😛

                                Grazie della dritta e di tutto!

                                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