• User

    Grazie dell'aiuto la provo subito, anche perchè io non sarò un grande di php pero if so come funziona:x


  • User

    Ciao ho trovato il problema 😉 erano i file temp di windows. :dull: Comunque lo cambiata un pò questa e quello che uso
    [php]
    <?php
    $video = $_FILES['video']['type'];
    $video_size = $_FILES['video'];
    if(empty($video)){
    die ( "<p style="font-weight:bold; text-align:center;">Errore nella compilazione dei dati. <br />Nessun file selezionato per l'upload.<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    return false;
    }
    else{
    $dimensionimax =800000;
    $timestamp = time();
    $file = time() .'-'.$_FILES['video']['name'];
    $video = array("mp4","avi", "image/png","image/pjpeg","image/jpeg", "image/jpg");
    if(!in_array($_FILES['video']['type'],$video))
    {
    die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti: ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }

    if ($video_size>$dimensionimax)
    {
    die ("<p style="font-weight:bold; text-align:center;">Errore: Il Video supera il limite di 80Mb ".mysql_error()."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    exit;
    }

    else{
    $dir ="../../videos/";
    $urlvideo = $dir.$file;
    copy($_FILES['video']['tmp_name'], $urlvideo);
    $video_file = $file;
    }
    }
    ?>
    [/php]Devo fare delle modifiche o va bene cosi?
    Poi mi da un problema con il formati io vorrei caricare un video.mp4 pero mi da l'avviso del formato non consentito come mai?
    Ciao.


  • User Attivo

    Ciao spirit19,
    mi fa piacere che sei riuscito a trovare il problema. :vai:

    Dunque,
    per quanto riguarda l'estensione non accettata,
    la segnalazione ti appare perchè hai invertito il test.

    Tu testi:
    se è falso che 'mp4' è presente nell'array delle estensioni consentite
    allora segnala 'estensione non consentita'.

    Mentre vorresti assicurarti che sia vero invece che 'mp4' sia presente nell'array, giusto?

    Ti è servita la classe MaLogger?

    :ciauz:


  • User

    La classe ancora non lo usata, comunque uso questo per il controllo formato
    [php]
    $video = array("mp4","avi", "image/png","image/pjpeg","image/jpeg", "image/jpg");
    if(!in_array($_FILES['video']['type'],$video))
    {
    die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti: ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }
    [/php]


  • User Attivo

    Ciao,
    prova così:
    [php]if(!in_array(strtolower ($_FILES['video']['type']),$video)) [/php]:ciauz:


  • User

    Ciao del tuo aiuto;),
    ho provato come dici tu non va,
    ho inserito altri formati, ma ancora non riconosce mp4
    [php]
    $video = array(" mp4", " mpeg-4", " mpeg", " mpg", " avi", " wmv", " flv", " divx", " avi", " image/png", " image/pjpeg", " image/jpeg", " image/jpg");
    if(!in_array(strtolower ($_FILES['video']['type']),$video))
    {
    die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti:<br /> ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }
    [/php]P.S. Ho provato con varii video .mp4, flv, avi nada non va il controllo.:?


  • User Attivo

    Ciao,
    ho notato che aggiungi uno spazio bianco prima dell'estensione:
    ' mp4',' mpeg' ecc...

    Rimuovi li spazi bianchi,
    e per sicurezza trimma l'estensione che ricavi dal file uploadato.

    :ciauz:


  • User

    Ciao scusa che vuoi dire con" e per sicurezza trimma l'estensione che ricavi dal file uploadato" come si fa in php?
    Grazie del tuo aiuto.


  • User Attivo

    Ciao Spirit19,
    intendevo questo:

    [PHP]
    $video = array("mp4", "mpeg-4", "mpeg", "mpg", "avi", "wmv", "flv", "divx", "avi", "image/png", "image/pjpeg", "image/jpeg", "image/jpg");
    if(!in_array(strtolower (trim($_FILES['video']['type'])),$video))
    {
    die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti:<br /> ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }
    [/PHP]

    come noterai, ho rimosso lo spazio bianco che precedeva ogni estensione in $video, e ho 'trimmato' l'estensione del file uploadato.

    :ciauz:


  • User

    Ciao ho provato come dici tu e non funziona, poi ho provato cosi
    [php]
    $video = array("mp4", "mpeg-4", "mpeg", "mpg", "avi", "wmv", "flv", "divx", "avi", "image/png", "image/pjpeg", "image/jpeg", "image/jpg");
    if(!in_array(strtolower(ltrim(rtrim(trim($_FILES['video']['type'])))),$video))
    {
    die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti:<br /> ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }
    [/php]
    e continua a non funzionare:bho:


  • User Attivo

    Ma provare a debuggare?

    Se non ti va di utilizzare la via che ti ho detto,
    puoi sempre creare commenti HTML nella pagina:

    [PHP]
    $video = array("mp4", "mpeg-4", "mpeg", "mpg", "avi", "wmv", "flv", "divx", "avi", "image/png", "image/pjpeg", "image/jpeg", "image/jpg");

    echo '<!-- ESTENSIONE FILE UPLOADATO = "' . trim($_FILES['video']['type']) . '" -->';

    if(!in_array(strtolower(trim($_FILES['video']['type']))),$video))
    {
    die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti:<br /> ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }

    [/PHP]

    Cosa ti traccia il commento nel codice HTML?

    :ciauz:


  • User

    Grazieee dei consigli
    ho stampato [php]$_FILES['video']['type'][/php]
    inpratica mette video/ prima del formato video e image/ prima del formato immagine
    cosi funziona
    [php]
    $video = array("video/mp4", "video/mpeg-4", "video/mpeg", "video/mpg", "video/avi", "video/wmv", "video/flv", "video/divx");
    if(!in_array(strtolower (trim($_FILES['video']['type'])),$video))
    {die ("<p style="font-weight:bold; text-align:center;">Il file non è di un tipo consentito, sono ammessi solo i seguenti:<br /> ". implode("," , $video) ."<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");
    }
    [/php]
    Graziee.:)


  • User Attivo

    :vai::vai::vai:

    Nessun problema,
    buon lavoro.

    :ciauz:


  • User

    Grazie anche a te
    ps se hai bisogno un aiuto scrivi;)
    ciao.