Muchísimas gracias a todos por vuestra ayuda. Créanme, leí toda la información posible para intentar solucionarlo, incluso hice miles de pruebas pero nada.
Gracias pateketrueke, is_uploaded_file era la solución. Ahora me va perfecto pero la comprobación la tuve que poner dentro del foreach en vez de antes para que si no vienen archivos ni siquiera ejecute una vez el bucle. Aunque funciona, es una forma posible? o no es nada convencional?
Este es mi nuevo codigo:
Código PHP:
$count=1;
foreach ($img as $file) {
if (is_uploaded_file($file)) {
list($width, $height) = getimagesize($file);
$newwidth = $width * 0.3;
$newheight = $height * 0.3;
// Cargar la imagen
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($file);
// Redimensionar
imagecopyresized($thumb, $source, 0, 0, 00, 0, $newwidth, $newheight, $width, $height);
// Crear la imagen
imagejpeg($thumb, "images/veh/" . $count . $last_id . "_" . str_replace(' ','-',$model) . "-small.jpg",75);
$ruta = $count . $last_id . "_" . str_replace(' ','-',$model) . ".jpg";
copy($file, "images/veh/" . $ruta);
$sql="INSERT INTO `images` (`vehicle_id_vehicle`, `image`, `alt`, `title`, `position`, `active`) VALUES ('$last_id', '$ruta', '', '', '$count', '1')";
mysql_query($sql, $con);
$count++;
}
}
Gracias de nuevo foreros