/** * 一時イメージファイルのファイルサイズを取得する * * @param string $prefix * @param string $tmpfile * @return int ファイルサイズ | 失敗時false */ function util_image_get_c_tmp_filesize4filename($prefix, $tmpfile) { if (!$tmpfile || preg_match('/[^\\.\\w]/', $tmpfile)) { return false; } if (!OPENPNE_TMP_IMAGE_DB) { $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/'; $filepath = $img_tmp_dir_path . basename($tmpfile); return filesize($filepath); } else { $c_tmp_image = db_image_c_tmp_image4filename($tmpfile); return $c_tmp_image['filesize']; } return false; }
function c_tmp_image4filename($filename) { return db_image_c_tmp_image4filename($filename); }
/** * アルバム用の写真を登録 */ function image_insert_c_image_album4tmp($prefix, $tmpfile, $c_member_id) { if (!$tmpfile || preg_match('/[^\\.\\w]/', $tmpfile)) { return false; } $path_parts = pathinfo($tmpfile); $ext = $path_parts['extension']; $ext = strtolower($ext); $allowed_ext = array('jpg', 'jpeg', 'gif', 'png'); if (!in_array($ext, $allowed_ext)) { return false; } $filename = sprintf('%s_%s.%s', $prefix, time(), $ext); if (!OPENPNE_TMP_IMAGE_DB) { $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/'; $filepath = $img_tmp_dir_path . basename($tmpfile); if (!is_readable($filepath)) { return false; } $filesize = filesize($filepath); $fp = fopen($filepath, 'rb'); $bin = fread($fp, $filesize); fclose($fp); // 写真かどうかのチェック if (!@imagecreatefromstring($bin)) { return false; } } else { $c_tmp_image = db_image_c_tmp_image4filename($tmpfile); $bin = base64_decode($c_tmp_image['bin']); $filesize = strlen($bin); } if (db_image_insert_c_image_album($filename, $bin, $filesize, $c_member_id)) { return array($filename, $filesize); } return false; }