Ho un problema:
nella cartella "miniature", cioè dove vanno caricate le miniature delle immagini, mi vengono caricate solo file con formato .jpeg/.jpg, tutti gli altri formati mi da: Impossibile aprire questo file.

Codice PHP:
<?php
function filtranome($nomefile)  
{
  
// qui filtri con varie funzioni 
  
$nuovonome $nomefile;  
  
$nuovonome str_replace(array(" "".",","), $nuovonome); // elimino alcuni caratteri 
  
$nuovonome strtolower($nuovonome); // tutto in minuscolo 
  
$nuovonome .= '_'.time().'.jpg';
  return (
$nuovonome); 
};
// controllo che non ci siano stati errori nell'upload (codice = 0) 
if ($_FILES['uploadfile']['error'] == 0)
{
    
// upload ok
    // controllo che il file sia in formato gif
    
if (!(in_array($_FILES['uploadfile']['type'], array('image/jpeg','image/png','image/gif','image/jpg','image/bmp','image/PNG')))) 
    die(
"Formato file non valido"); 
    
// copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale 
    
copy($_FILES['uploadfile']['tmp_name'], "file_caricati/".filtranome($_FILES['uploadfile']['name'])) or die("Impossibile caricare il file");
    
// upload terminato, stampo alcune info sul file
    
echo "[b]Upload terminato con successo[/b]
Le Informazioni riguardanti il File che hai appena caricato sono:

"
;
    echo 
"Nome file: ".$_FILES['uploadfile']['name']."
"
;
    echo 
"Dimensione file: ".$_FILES['uploadfile']['size']."
"
;
    echo 
"Tipo MIME file: ".$_FILES['uploadfile']['type'];
}
else
    {
    
// controllo il tipo di errore
        
if ($_FILES['uploadfile']['error'] == 2)
            {
                
// errore, file troppo grande (> 1MB)
                
die("Errore, file troppo grande: il massimo consentito è 1MB");
            }
        else
            {
                
// errore generico
                
die("Errore, impossibile caricare il file");
            }
    }
?>


<?php
$img 
"file_caricati/".filtranome($_FILES['uploadfile']['name']); // percorso al file dell'immagine
$dest "miniature/".filtranome($_FILES['uploadfile']['name']); // directory di salvataggio delle miniature create

// dimensioni della miniatura da creare
$thumbWidth 60// larghezza 
$thumbHeight 60// altezza 
// livello di compressione della miniatura
$thumbComp 90;

// creazione dell'immagine della miniatura
$thumb imagecreate($thumbWidth$thumbHeight) or die("Impossibile creare la miniatura");
// apertura dell'immagine originale 
$src imagecreatefromjpeg($img) or die ("Impossibile aprire l'immagine originale");

// copio l'immagine originale in quella della miniatura ridimensionandola
imagecopyresized($thumb$src0000$thumbWidth$thumbHeightimageSx($src), imageSy($src)) or die("Impossibile ridimensionare l'immagine");

// salvataggio miniatura
imagejpeg($thumb$dest$thumbComp) or die("Impossibile salvare la miniatura");
?>
Consigli su come risolvere il problema?

Se puo essere utile ho trovato in un sito questo pezzo di codice:


Codice PHP:
if ($filetype == 'jpg') {
    
$srcImg imagecreatefromjpeg("$imageDirectory/$imageName");
} else
if (
$filetype == 'jpeg') {
    
$srcImg imagecreatefromjpeg("$imageDirectory/$imageName");
} else
if (
$filetype == 'png') {
    
$srcImg imagecreatefrompng("$imageDirectory/$imageName");
} else
if (
$filetype == 'gif') {
    
$srcImg imagecreatefromgif("$imageDirectory/$imageName");
}

$origWidth imagesx($srcImg);
$origHeight imagesy($srcImg);

$ratio $origWidth $thumbWidth;
$thumbHeight $origHeight $ratio;

$thumbImg imagecreatetruecolor($thumbWidth$thumbHeight);
imagecopyresized($thumbImg$srcImg0000$thumbWidth$thumbHeight$origWidth$origHeight);

if (
$filetype == 'jpg') {
    
imagejpeg($thumbImg"$thumbDirectory/$imageName");
} else
if (
$filetype == 'jpeg') {
    
imagejpeg($thumbImg"$thumbDirectory/$imageName");
} else
if (
$filetype == 'png') {
    
imagepng($thumbImg"$thumbDirectory/$imageName");
} else
if (
$filetype == 'gif') {
    
imagegif($thumbImg"$thumbDirectory/$imageName");