예제 #1
0
/**
 * 一時イメージファイルのファイルサイズを取得する
 * 
 * @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;
}
예제 #2
0
function c_tmp_image4filename($filename)
{
    return db_image_c_tmp_image4filename($filename);
}
예제 #3
0
/**
 * アルバム用の写真を登録
 */
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;
}