$fileType_array = array(IMAGETYPE_JPEG, IMAGETYPE_PNG);
$filenames = array($thumbnail_fieldname, $desktop_fieldname_1280x800, $desktop_fieldname_1366x768, $desktop_fieldname_1920x1080);
$files = array();
foreach($filenames as $filename){
if(isset($_FILES[$filename]['tmp_name'])){
$resource = getimagesize($_FILES[$filename]['tmp_name']);
$type = $resource[2];
if(in_array($type, $fileType_array, TRUE)){
echo "<p>Following files are images:";
array_push($files, $filename);
//$files[$filename] = $filename . "<br />";
}
}
このコードは、画像であるファイルを提供します。私がしたいことは、それらの画像を適切なフォルダーに移動することです..たとえば、ファイルがサムネイル画像の場合、このファイルをフォルダーthumbnail.png
に移動したいと思います..どうすればそれを行うことができますかimages/thumbnails/thumbnail.png
? 特定のファイルが画像でない場合はそのままにして次のファイルに移動するという制約があるため、どうすればよいかわかりませんmove_uploaded_file
。たとえば、次のdesktop1280x800
ファイルは画像ではないため、スキップして次のデスクトップファイルに移動します画像の場合はディレクトリに移動します..だから順番に実行することはできません..以下は、それらのファイルを移動するコードです.すべてではなく、特定のファイルを移動したいだけです.
if(move_uploaded_file($_FILES[$thumbnail_fieldname]['tmp_name'], $thumbnail_filename)
//move desktop files
&& in_array(TRUE, array(
move_uploaded_file($_FILES[$desktop_fieldname_1280x800]['tmp_name'], $desktop_filename_1280x800),
move_uploaded_file($_FILES[$desktop_fieldname_1366x768]['tmp_name'], $desktop_filename_1366x768),
move_uploaded_file($_FILES[$desktop_fieldname_1920x1080]['tmp_name'], $desktop_filename_1920x1080)))){
//Files moved.
}