- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con update file
-
Ciao spirit19,
mi fa piacere che sei riuscito a trovare il problema.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?
-
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]
-
Ciao,
prova così:
[php]if(!in_array(strtolower ($_FILES['video']['type']),$video)) [/php]
-
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.:?
-
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.
-
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.
-
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.
-
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:
-
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?
-
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.:)
-
Nessun problema,
buon lavoro.
-
Grazie anche a te
ps se hai bisogno un aiuto scrivi;)
ciao.