Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70

    [php] mime-type non ricevuto

    Ciao a tutti, spero mi rispondiate. Ho una pagina in cui stampo una tabella con le canzoni presenti sul db e stampo anche dei button radio. Si seleziona il button radio corrispondente alla canzone desiderata, si sfoglia per ricercare l'mp3 e si invia.
    Codice PHP:
    echo "<form action='Upload.php' method='post' enctype='multipart/form-data' >";
       
    echo 
    "<table><tr><td>Titolo Canzone</td><td>ID</td><td>Carica canzoni in formato mp3</td></tr>";
       
       while (
    $row mysql_fetch_array($result)) 
        { 
         
         echo 
    "<tr><td> $row[nome_canzone] </td>";
         echo 
    "<td> $row[id_canzone] </td>";
         echo 
    "<td><input name='userfile[]' type='file'></td>";
         
    $id $row[id_canzone];
         echo 
    "<td><input type='radio' name= 'id_canzone' value='$id' ></td>";
         
        } 
       
       
    ?>
       <td><input type='submit' value='Upload mp3'></td></tr>
       </table>
       </form> 
    La pagina upload.php è cosi composta:
    Codice PHP:
    $db db_connetti();

    $tipo=$_FILES["userfile"]["type"];
    //echo $tipo;
    $idmp3 $_POST[id_canzone];


    foreach(
    $_FILES["userfile"]["error"] as $key => $error
      {
       if(
    $error == UPLOAD_ERR_OK )   
        {
              
         
    $tmp_name $_FILES["userfile"]["tmp_name"][$key];
         
    $percorso "mp3/";
         
    $nuovo_nome $percorso.$idmp3.".mp3";
         
    move_uploaded_file($tmp_name$nuovo_nome);
         
    $query2 "UPDATE Canzoni SET link_mp3 = '$nuovo_nome' WHERE     id_canzone='$idmp3'";
         
    mysql_query($query2,$db);
        }
      }
     
    echo 
    "Operazione completata..."
    Funziona, il problema è ke se l'utente seleziona un file diverso da un mp3(audio,testo,ecc) questo viene comunque caricato.
    Con $tipo=$_FILES["userfile"]["type"]; dovrei ricevere il mime-type ma se lo stampo nn ho ricevuto il mimetype ma mi stampa la scritta Array quindi non ricevendolo non riesco a afre il controllo. Come posso fare?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    var_dump() di quello che risulta un array?? vedi le chiavi ulteriori al suo interno
    La vita e' uno switch();

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    Originariamente inviato da marco80
    var_dump() di quello che risulta un array?? vedi le chiavi ulteriori al suo interno
    Mi da questo(ho selezionato un mp3 e poi inviato):

    array(3) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(10) "audio/mpeg" }



    quindi il mime-type lo inserisci come terzo elemento dell'array. Immagino terzo perkè ho 3 canzoni caricate :master:


    Si praticamente mi crea un array( enon so il xkè) con tanti elementi quante sono le canzoni inserite da quell'artista nel database e il mime-type lo passa come ultimo elemento del vettore. Come posso fare per estrarre ad ogni upload l'ultimo elemento dell'array e su questo fare il confronto per verificare ke sia il mime-type di un file mp3 cioè audio/mpeg?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    70
    Scusate ma non posso + editare. Dopo controlli + approfonditi non è detto ke il mime sia nell'ultima cella dell'array. Se ho un array di cui solo una cella ha un valore in stringa mentre le altre no come estraggo quel valore, un esempio:

    array(4) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(10) "audio/mpeg" [3]=>string(0) "" }

    Come estraggo audio/mpeg in generale nel caso la composizione dell'array vari ogni volta?grazie e scusate se presso.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.