忍者ブログ
忘れない為のお勉強思い出し日記
[1] [2] [3]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MIME Typeとは?
MIME (Multipart Internet Mail Extension)

MIME typeは、「/」(スラッシュ)で区切られた2つの要素、ヘッダとボディから構成された文字列で表される。
ヘッダはファイルの分類を表し、ボディはファイルの種類を表す。
例:HTMLファイルはtext/htmlとなる。

MIME typeの規定値はRFC(Request for Comments)で定義されているが(MIME typeはRFC 2045)それに従うかどうかはユーザーに任されている。

一言で表すならば、「サーバがクライアントに送信した、ファイルの種類を示す識別子」となる。
サーバは、自分が送信するファイルの拡張子を判断し、それに関連付けられたMIME typeをクライアントに送信する。
クライアントは、それを受け取ってMIME typeに関連付けられた処理を行う。

PR

require_once("MySmarty.class.php");
$html = new MySmarty();
------------------------------
0を設定すると無効。
1を設定すると一律の有効時間を指定することができる。
2を設定するとページごとに異なる有効時間を指定することができる。
$html->caching = 1;
------------------------------
作成されたキャッシュデータを格納するためのディレクトリを指定する。
$html->cache_dir = "./cache/";
------------------------------
キャッシュの有効期限を秒単位で指定する。
$html->cache_lifetime = 3600;
------------------------------
このように第2引数を任意のキーを与えることによって、同一のページを
個々に異なるキャッシュデータとして保存することができる。
$html->display("hoge.tpl",$_GET['mode']);
※複数ある場合以下にようにすることも可能。
$html->display("hoge.tpl",$_GET['mode'],$_GET['no']);
------------------------------
このページキャッシュについての使用注意
・元となるソースの更新が少ない、またはほとんど更新されない、などのページに向いている。
・変更されても影響のない同一ページへのリクエスト数が多いページなどにも向いている。

※使用パターン①
例えば、毎回アクセスがある度にデータベース、テキストファイル、ディレクトリなどから取得するデータがあるとして
そのデータ内容自体はほとんど更新のないデータの場合にキャッシュに保存して出力した方がパフォーマンスは良いと思われる。

・php詳細
$name = "";
$html->assign("name",$name);

・tpl詳細
デフォルト文<br>
{$name|default:"hoge"}<br>

・結果
デフォルト文<br>
hoge<br>
------------------------------
・php詳細
$lang = array("php","jsp","cgi",array("c","c++"));
$html->assign("lang",$lang);

・tpl詳細
単純配列文<br>
php     :       {$lang[0]}<br>
jsp     :       {$lang[1]}<br>
cgi:    :       {$lang[2]}<br>

c       :       {$lang[3][0]}<br>
c++     :       {$lang[3][1]}<br>

・結果
単純配列文<br>
php     :       php<br>
jsp     :       jsp<br>
cgi:    :       cgi<br>

c       :       c<br>
c++     :       c++<br>
------------------------------
・php詳細
$data = array("name"=>"hoge","tel"=>"000-0000-0000","mail"=>array("hoge@hoge.com","home"=>"hogehoge@hoge.com"));
$html->assign("data",$data);

・tpl詳細
連想配列文<br>
name    :       {$data.name}<br>
tel     :       {$data.tel}<br>
mail    :       {$data.mail[0]}<br>
mail    :       {$data.mail.home}<br>

・結果
連想配列文<br>
name    :       hoge<br>
tel     :       000-0000-0000<br>
mail    :       hoge@hoge.com<br>
mail    :       hogehoge@hoge.com<br>
------------------------------
・php詳細
class MyClass {
        public $name;
        private $tel;
        public function __construct($name,$tel){
                $this->name = $name;
                $this->tel = $tel;
        }
        public function getTel(){return $this->tel;}
}
$obj = new MyClass("hoge","000-000-0000");
$html->assign("obj",$obj);

・tpl詳細
オブジェクト文<br>
name    :       {$obj->name}<br>
tel     :       {$obj->getTel()}<br>

・結果
オブジェクト文<br>
name    :       hoge<br>
tel     :       000-000-0000<br>
------------------------------
・php詳細
define("NO",100);

・tpl詳細
PHP定数文<br>
{$smarty.const.NO}<br>

・結果
PHP定数文<br>
100<br>
------------------------------
・tpl詳細
現在のタイム文<br>
{$smarty.now}<br>

・結果
現在のタイム文<br>
1168417541<br>
------------------------------
・tpl詳細
実行中のテンプレート名文<br>
{$smarty.template}<br>

・結果
実行中のテンプレート名文<br>
hogehoge.tpl<br>
------------------------------
・tpl詳細
Smartyのバージョン情報文<br>
{$smarty.version}<br>

・結果
Smartyのバージョン情報文<br>
x.x.x<br>
------------------------------
・php詳細
$_GET['id'] = "'<id&pass>'+hoge";
$_POST['id'] = "'<id&pass>'+hoge";
$_REQUEST['id'] = "'<id&pass>'+hoge";

・tpl詳細
GET情報文<br>
{$smarty.get.id|escape}<br>
<br>
POST情報文<br>
{$smarty.post.id|escape:"htmlall"}<br>
<br>
REQUEST情報文<br>
{$smarty.request.id|escape:"javascript"}<br>

・結果
GET情報文<br>
&#039;&lt;id&amp;pass&gt;&#039;+hoge<br>

POST情報文<br>
&#039;&lt;id&amp;pass&gt;&#039;+hoge<br>

REQUEST情報文<br>
\'<id&pass>\'+hoge<br>
------------------------------
・php詳細
$lang = array("php","jsp","cgi",array("c","c++"));
$html->assign("lang",$lang);

・tpl詳細
単純配列カウント数文<br>
{$lang|@count}<br>

・結果
単純配列カウント数文<br>
4<br>
------------------------------
・php詳細
$data = array("name"=>"hoge","tel"=>"000-0000-0000","mail"=>array("hoge@hoge.com","home"=>"hogehoge@hoge.com"));
$html->assign("data",$data);

・tpl詳細
連想配列カウント数文<br>
{$data|@count}<br>

・結果連想配列カウント数文<br>
3<br>
------------------------------
・tpl詳細
日付文<br>
{$smarty.now|date_format:"%Y年%m月%d日 %H時:%M分:%S秒 %A"}<br>

・結果
日付文<br>
2007年01月10日 17時:25分:41秒 Wednesday<br>
------------------------------
・php詳細
$lang = array("php","jsp","cgi",array("c","c++"));
$html->assign("lang",$lang);

・tpl詳細
if文<br>
{if count($lang) > 2}
$langは2より大きいです<br>
{/if}

・結果
if文<br>
$langは2より大きいです<br>
------------------------------
・php詳細
$array_1 = array("name"=>"hoge","tel"=>"000-0000-0000","age"=>20);
$html->assign("array_1",$array_1);

・tpl詳細
foreach文<br>
{foreach from=$array_1 key="key" item="value" name="loop"}
KEY {$key} : VALUE {$value}<br>
{/foreach}

・結果
foreach文<br>
KEY name : VALUE hoge<br>
KEY tel : VALUE 000-0000-0000<br>
KEY age : VALUE 20<br>
------------------------------
・php詳細
$array_2 = array("hogehoge","111-1111-1111",25);
$array_3 = array("testtest","222-2222-2222",20);
$html->assign("array_2",$array_2);
$html->assign("array_3",$array_3);

・tpl詳細
section文<br>
{section name="data" loop=$array_2}
{$array_2[data]}<br>
{$array_3[data]}<br>
{/section}

・結果
section文<br>
hogehoge<br>
testtest<br>
111-1111-1111<br>
222-2222-2222<br>
25<br>
20<br>
------------------------------
・tpl詳細
mail文<br>
{mailto address="hoge@hoge.com" encode="hex"}<br>

・結果
mail文<br>
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;%68%6f%67%65@%68%6f%67%65.%63%6f%6d" >&#x68;&#x6f;&#x67;&#x65;&#x40;&#x68;&#x6f;&#x67;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a><br>
------------------------------

検索方法

"*"は全て
grep[-]の後
[n]は見つかった文字の行数も表示する
[H]はマッチした文字に対してのファイル名を表示する
[w]は単語として検索をする
最後の[-ls]はその見つかったファイル名を表示する

------------------------------
パターン①

・目的のファイル名はわからない。
・その目的のファイルに格納されている文字が少しでもわかっている。
その場合の[ファイル名]と[目的文字の行数]を調べる方法

find 検索場所 -name "*" -exec grep -nH "文字" {} \; -ls

------------------------------
パターン②

・目的のファイル名はわからない。
・その目的のファイルに格納されている文字が少しでもわかっているが複数の可能性がある。
その場合の[ファイル名]と[目的文字の行数]を調べる方法

find 検索場所 -name "*" -exec grep -nwe "文字1" -e "文字2" -e "文字3" {} \; -ls

最初の[e]は必ず最後に付ける。複数ある時は[-e]で区切って追加する。[-e]はORの意味となる。

<?php
//半角英字チェック
$str = "12345";
if(!ereg("^[a-z]+$",$str)){
        print $str."は半角英字で入力して下さい。\n";
}
//半角数字チェック
$str = "aiueo";
if(!ereg("^[0-9]+$",$str)){
        print $str."は半角数字で入力して下さい。\n";
}
//半角英数字チェック
$str = "AIUEO";
if(!ereg("^[0-9a-z]+$",$str)){
        print $str."は半角英数字で入力して下さい。\n";
}
##カラー表記チェック
$str = "#hoge";
if(!ereg("^#[0-9a-zA-Z]{6}$",$str)){
        print $str."は#xxxxxxで構成される16進数カラー表記で入力して下さい。\n";
}
##空文字チェック
$str = "";
if( (empty($str)) or (strlen($str) == 0) ){
        print "未入力です。\n";
}
##長さチェック
$str = "aiueo";
$num = 4;
if(strlen($str) > $num){
        print $str."は{$num}文字以上で入力されています。\n";
}
##マルチバイト長さチェック
$str = "あいうえお";
$num = 4;
if(mb_strlen($str) > $num){
        print $str."は{$num}文字以上で入力されています。\n";
}
##スペースチェック
$str = " ";
if(ereg("^( | |\t)+$",$str)){
        print "スペースのみで入力されています。Ver.1\n";
}
##スペース&改行チェック
if(preg_match("/^(\s| )+$/",$str)){
        print "スペースのみで入力されています。Ver.2\n";
}
##郵便番号チェック
$str = "000-aaaa";
if(!ereg("^[0-9]{3}-[0-9]{4}$",$str)){
        print $str."は正しい郵便番号ではありません。Ver.1\n";
}
if(!preg_match("/^\d{3}-\d{4}$/",$str)){
        print $str."は正しい郵便番号ではありません。Ver.2\n";
}
##携帯電話番号チェック
$str = "000-0000-aaaa";
if(!preg_match("/^\d{3}-?\d{4}-?\d{4}$/",$str)){
        print $str."は正しい携帯電話番号ではありません。\n";
}
##URLチェック
$str = "http://hogehoge";
if(!ereg("^(http|https):\/\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)\.([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$",$str)){
        print $str."は正しいURLではありません。\n";
}
##メールアドレスチェック
$str = "hoge@hogehoge";
if(!preg_match("/^[0-9a-zA-Z_.-]+@[0-9a-zA-Z_.-]+\.[0-9a-zA-Z_.-]+$/",$str)){
        print $str."は正しいメールアドレスではありません。\n";
}
?>

C言語  Fedora Core インストール手順

------------------------------

まずrpmコマンドでgccがインストールされているか確認をする
rpm -qa | grep gcc

インストールされていなければyumコマンドでgccをインストールする
yum -y install gcc

インストールが完了したら実行パスをPATHに指定をしてあげると後に楽になるので[.bashrc]に
PATH=$PATH:./
と記載して自分自身に実行権限を与えるようにする
その後sourceコマンドでその[.bashrc]を反映させる為に再度読み込む
source .bashrc

そしてC言語開発テストをする
まずhello.cというファイル名を作成してその中に以下の内容を記載する

#include <stdio.h>
int main(void){
 printf("Hello C\n");
 return 0;
}

記載し終えたら

gcc hello.c
と入力をしてコンパイルすると[a.out]という実行ファイルが作成されるので後はそれを実行すれば良い
a.out

結果
hello C
と表示されれば完了

.htmlと.htmの違い

マイクロソフト社の古いOS(MS-DOS やWindows 3.1)では、拡張子を3文字までしか扱えなかったため
.html を .htm、.jpeg を .jpg と記述していました。
そのため、.html と .htm が存在しています。
現在でもまだ3文字の拡張子しか扱えないソフトが残っていたり、マイクロソフトが
.html よりも .htm の方を標準的に使用しようとしていたりして、現在は .html と .htm が混在した状態になっています。

------------------------------
拡張子とは?

ファイル名の最後のドット(.)から後ろの部分を『拡張子』と呼びます。
hoge.html の拡張子は .html で、hoge.gif の拡張子は .gif です。
拡張子はそのファイルが何であるかを示します。

携帯端末 着うた 動画 タグ 関連

------------------------------

・MIMEタイプは、拡張子からファイルの種類を判別できる機能。
・AddTypeにより、MIME タイプの追加・変更(オーバーライド)が可能になる。
・サーバーによっては着うたを再生する際に[Apcheの設定]もしくは[.htaccess]などでAddTypeを以下ように設定する必要がある。

  MIMEタイプ「タイプ名/サブタイプ名」の形式 拡張子   
AddType  application/x-smaf     .mmf
AddType  video/3gpp2      .3g2
AddType  audio/3gpp2      .3g2

------------------------------

・mmfはsoftbankやauで使用されるSMAFという形式の着メロファイルの拡張子。

・3g2は標準化団体3GPP2が策定した携帯電話向けMPEG-4動画ファイルに使われている拡張子。
ちなみにMIMEタイプ名は音声のみの場合は[audio/3gpp2]、動画を含む場合には[video/3gpp2]を用いる。

・3gpは標準化団体3GPPが策定した携帯電話向けMPEG-4動画の標準ファイルに一般に使われている拡張子。
ちなみにMIMEタイプ名は音声のみの場合は[audio/3gpp]、動画を含む場合には[video/3gpp]を用いる。

------------------------------

・DoCoMo用ストリーミングタグ
<object declare id="オブジェクトID(任意)" data="データのURL" type="video/3gpp">
<param name="stream-type" value="10" valuetype="data">
</object>
<a href="#オブジェクトID(上記と同じ)">リンク名</a>

・意味
declare(オブジェクト宣言であることを示す識別子)
id="objectタグID"
data="データのURL及びデータパス"
type="MIMEタイプ及びコンテンツタイプ"
param のname="stream-type" value="10" にする事で2Mの動画・着うたを再生する事ができるようになる。
valuetype="data"は公式サイトには固定として書いてあったのでとりあえずそのまま記載する。
後はAタグに同じオブジェクトIDを記載してリンク名を記載すれば完成。

------------------------------

・EZweb用タグ
<object data="データのURL" type="video/3gpp2" copyright="no" standby="リンク名">
<param name="disposition" value="devmpzz" valuetype="data" />
<param name="size" value="" valuetype="data" />
<param name="title" value="" valuetype="data" />
</object>

・意味
data="データのURL及びデータパス"
type="MIMEタイプ及びコンテンツタイプ"
copyright="[yes]または[no]"
「EZムービーデータ」の再生専用ダウンロード (データフォルダへの保存不可) の場合にのみ「yes」とし、それ以外の場合には「no」を指定する。
standby="リンク名"
param name="disposition value="ダウンロードデータの用途に応じたデータ形式" devmpzzのデータ形式はMPEG4
param name="size" value="Byte単位でのデータサイズ"
param name="title" value="ファイルのタイトル名" (ダウンロード処理時、データフォルダ保存時に表示) を指定する。

VALUE DOMAIN 設定

------------------------------
(1)
「ドメイン操作」⇒「ネームサーバーの変更」⇒「このドメインでネームサーバーを作成」で、
「ネームサーバー名」はデフォルト(例:ns1.hogehoge.com)のまま、「ネームサーバーのIPアドレス」に現在のグローバルIPアドレス
を入力して「追加」ボタンを押下し、ネームサーバーを追加する

------------------------------
(2)
「ドメイン操作」⇒「ネームサーバーの変更」⇒「方法選択」で"他社提供/自前ネームサーバー"を選択し、「他社・自前のネームサーバー」に(例:"ns1.hogehoge.com")
と入力して「変更」ボタンを押下する

※なお、プライマリネームサーバー変更が反映されるまで24~48時間程度掛かる



忍者ブログ [PR]
カレンダー
05 2026/06 07
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新コメント
[11/18 DSLR-A900]
[12/04 cnanogetde]
[06/25 QzLNP]
[06/25 Jarmj]
[06/25 wncwh]
最新記事
最新トラックバック
プロフィール
性別:
男性
バーコード
ブログ内検索