フォノクラフト株式会社:作業メモや備忘録など

作業メモや備忘録など…

記号フォント:wingdings1〜3

without comments

簡単な記号を使いたい際にはwingdings1〜3から膨らませるのもアリかと。

Categoty in Font

ファイルのアップロード(ファイル名を 年月日時分 に変換する)

without comments

必要なファイル

  1. ファイル:./index.php
  2. ファイル:./confirm.php
  3. 画像アップロード用ディレクトリ:./upload_files/

ソース

入力(index.php)

<form action="confirm.php" method="post" enctype="multipart/form-data">
<input type="file" size="40" name="upfile" value="">
<input type="submit" value="アップロード">
</form>

アップロード確認(confirm.php)

<?php
$updir = "./upload_files";
$tmp_file = @$_FILES['upfile']['tmp_name'];
@list($file_name,$file_type) = explode(".",@$_FILES['upfile']['name']);
$copy_file = date("Ymd-His") . "." . $file_type;
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
	if (move_uploaded_file($tmp_file,"$updir/$copy_file")) {
		chmod("upload_files/" . $_FILES["upfile"]["name"], 0644);
		echo $_FILES["upfile"]["name"] . "をアップロードしました。<br />";
		echo "(※アップロードしたファイルは <a href=\"" . $updir . "/" . $copy_file . "\" target=\"_blank\">こちら</a> から確認できます。)";
	} else {
		echo "ファイルをアップロード出来ませんでした。";
	}
} else {
	echo "ファイルが選択されていません。";
}
?>

Categoty in PHP

[WP] [Exec-PHP] 投稿にPHPを使える様にする

without comments

使い方

  • [exec]〜[/exec]で囲む(※「<?php」「?>」は入れない)

相性

他にもいくつか同様のプラグインがある中で[exec]の記述が面倒との見方もあるが、
『Syntax Highlighter』等との相性を考えるとこのプラグインが一番よい。

Categoty in Exec-PHP / Plugins / WordPress

[WP] [Syntax Highlighter] ソースを整形表示するプラグイン

without comments

使い方

Short Code Option

※『[ 』『]』『”』記号は半角にしてください。

  • 行番号の開始番号指定:例)[php num=10]~[/php]
  • ハイライト表示する行を指定:例)[php highlight_lines=”1,2,3″]~[/php]
  • 行番号を表示しない(falseを指定):例)[php gutter=”false”]~[/php]
  • ルーラーを表示する(trueを指定):例)[php ruler=”true”]~[/php]
  • ツールバーを表示しない(falseを指定):例)[php toolbar=”false”]~[/php]
  • 簡易表示にする(trueを指定):例)[php light=”true”]~[/php]
  • フォントのサイズを指定する:例)[php font_size=”90%”]~[/php]
  • 言語名を表示する(trueを指定):例)[php lang_name=”true”]~[/php]

使用可能な言語

as3 / bash / c / cpp / csharp / coldfusion / diff / erlang / groovy / java / javafx / javascript / delphi / pascal / perl / php / powershell / python / ruby / shell / text / vb / vbnet / scala / sql / css / xml / html / xhtml / xslt

注意

テンプレート footer.php にある

<?php do_action(‘wp_footer’, ”); ?>

を抜くと動作しなくなります。

簡単なメール送信スクリプト

without comments

必要なファイル

  • index.php
  • confirm.php
  • complete.php
  • mail.conf.php

一式ダウンロード

ソース

index.php

  • 簡単なバリデートはJSで行う(validator.js / util.js / style.css)
  • Submit/Resetボタンは画像で
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>お問い合わせ|入力</title>

<!-- バリデータ -->
<script type="text/javascript" src=./js/check/util.js" charset="UTF-8"></script> 
<script type="text/javascript" src="./js/check/validator.js" charset="UTF-8"></script> 
<link rel="stylesheet" type="text/css" href="./js/check/style.css" />
<!-- /バリデータ -->

<body>

<form action="confirm.php" method="post" onsubmit="return Validator.submit(this)">

	ご担当者氏名
	<label for="name1">姓 </label><input type="text" name="name1" onblur="Validator.check(this)" />
	<label for="name2" >名 </label><input type="text" name="name2" onblur="Validator.check(this)" />
	
	会員ID
	<input type="text"  size="50" name="userId" onblur="Validator.check(this)">
	
	会社名
	<input type="text"  size="50" name="company" onblur="Validator.check(this)">
	
	部署名
	<input type="text"  size="50" name="section">
	
	メールアドレス
	<input type="text"  size="50" name="mailaddress" onblur="Validator.check(this, 'equal mail', 'mailaddress2')">
	
	メールアドレス(確認)
	<input type="text"  size="50" name="mailaddress2" onblur="Validator.check(this, 'equal mail', 'mailaddress')">
	
	電話番号
	<input type="text" size="50" name="tel" onblur="Validator.check(this)">
	
	お問い合わせ目的
	<input name="inquiry_ttl" type="radio" value="サービスのご利用について" /> サービスのご利用について
	<input name="inquiry_ttl" type="radio" value="当サイトについて" /> 当サイトについて
	<input name="inquiry_ttl" type="radio" value="ご契約・各種手続きについて" onblur="Validator.check(this)" /> ご契約・各種手続きについて
	
	お問い合わせ内容
	<textarea  rows="7" cols="40" name="inquiry" onblur="Validator.check(this)"></textarea>
	
	プライバシーポリシーにご同意の上、お問い合わせください。
	<input name="pp" type="checkbox" value="プライバシーポリシーに同意する" onblur="Validator.check(this)" />&nbsp;プライバシーポリシーに同意する
	<input name="pp" type="hidden" value="プライバシーポリシーに同意しない" />
	
	<input type="reset" class="input_btn" id="btn_reset" name="btn_reset" value="リセット" title="リセット"/>
	<input type="submit" class="input_btn" id="btn_chk" name="btn_chk" value="入力内容を確認" title="入力内容を確認"/>

</form>

</body>
</html>

confirm.php

<?php
$aryName = array(
	'name1',
	'name2',
	'userId',
	'company',
	'section',
	'mailaddress',
	'tel',
	'inquiry_ttl',
	'inquiry',
);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>お問い合わせ|確認</title>
<body>

<form action="complete.php" method="post">
<?php foreach ($aryName as $n) : ?>
<input type="hidden" name="<?php echo $n;?>" value="<?php echo urlencode($_REQUEST[$n]);?>">
<?php endforeach; ?>

ご担当者氏名
<?php echo htmlspecialchars($_REQUEST['name1'].$_REQUEST['name2']);?> 様

会員ID
<?php echo htmlspecialchars($_REQUEST['userId']);?>

会社名<
<?php echo htmlspecialchars($_REQUEST['company']);?>

部署名</th>
<?php echo htmlspecialchars($_REQUEST['section']);?>

メールアドレス<
<a href="mailto:<?php echo htmlspecialchars($_REQUEST['mailaddress']);?>"><?php echo htmlspecialchars($_REQUEST['mailaddress']);?></a>

電話番号
<?php echo htmlspecialchars($_REQUEST['tel']);?>

お問い合わせ内容<
【<?php echo nl2br(htmlspecialchars($_REQUEST['inquiry_ttl']));?>】<br />
<?php echo nl2br(htmlspecialchars($_REQUEST['inquiry']));?>


<input type="reset" class="input_btn" id="btn_fixed" name="btn_fixed" value="修正する" title="修正する" onclick="history.back(); return false;" />
<input type="submit" class="input_btn" id="btn_send" name="btn_send" value="送信する" title="送信する"/>

</form>

</body>
</html>

complete.php

  • 「mailaddress」が無いと送信しない
  • メールテンプレートや送信先のメールアドレスはmail.conf.phpに記述
<?php
include_once './mail.conf.php';
$aryName = array(
	'name1',
	'name2',
	'userId',
	'company',
	'section',
	'mailaddress',
	'tel',
	'inquiry_ttl',
	'inquiry',
);

$to = urldecode($_REQUEST['mailaddress']); 
if ($to !== '') {
	foreach ($aryName as $n) {
		$search = '%%'.$n.'%%';
		$replace = urldecode($_REQUEST[$n]);
		$mail_body = str_replace($search, $replace, $mail_body);
	}
	my_send_mail($to, $mail_body);

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>お問い合わせ|完了</title>
<body>

お問合せ頂きありがとうございます。<br />
後ほど、担当者よりご連絡いたします。

</body>
</html>

mail.conf.php

  • From / Replay / BCC を設定します
  • メールテンプレートを編集します
<?php
mb_language('ja');

$mail_subject = '【○○○○】お問い合わせを受け付けました';

$mail_bcc  = '○○○○@○○○○.co.jp';
$mail_from = '○○○○@○○○○.co.jp';
$mail_reply_to = '○○○○@○○○○.co.jp';

$header  = "From: $mail_from\n";
$header .= "Reply-To: $mail_reply_to\n";
$header .= "Bcc: $mail_bcc\n";

$mail_body = "
%%name1%% %%name2%% 様

この度は○○○○にお問い合わせいただき、ありがとうございます。
本メールはご登録の受付により自動配信されております。
以下よりお問い合わせ内容のご確認をお願い致します。


【お問い合わせ内容】
━━━━━━━━━━━━━━━━━━━━━━━━━━
 氏名:%%name1%% %%name2%% 様
 会員ID:%%userId%%
 会社名:%%company%%
 部署名:%%section%%
 メールアドレス: %%mailaddress%%
 電話番号: %%tel%%

 ご相談内容:
【%%inquiry_ttl%%】
%%inquiry%%   
━━━━━━━━━━━━━━━━━━━━━━━━━━

いただきましたお問い合わせにつきましては、
2営業日以内に担当者より一度ご連絡をさせていただきます。

お問い合わせ内容について、不備などありましたら、
以下の連絡先までお問い合わせください。

お問い合わせありがとうございました。


━━━━━━━━━━━━━━━━━━━━━━━━━━
株式会社○○○○ ○○○○@○○○○.co.jp
〒000-0000  東京都○○○○区○○○○1-1-1
■○○○○に関するお問い合わせ先
TEL:03-○○○○-○○○○(9:00-18:00/土日祝日を除く)
━━━━━━━━━━━━━━━━━━━━━━━━━━

";

function my_send_mail($mail_to, $mail_body) {
	global $mail_subject, $header;

	//$mail_body = mb_convert_encoding($mail_body, 'JIS', 'UTF-8');
	//$mail_subject = mb_convert_encoding($mail_subject, 'JIS', 'UTF-8');
	mb_internal_encoding("UTF-8");
	$r = mb_send_mail($mail_to, $mail_subject, $mail_body, $header);
	
	return $r;
}

//$hgoe = my_send_mail($mail_to, $mail_body);
//var_dump($hgoe);
?>

Categoty in JavaScript / Mail / PHP

今日の日付をselectedにした年月日選択

without comments

サンプル

日 

ソース

<?php
//今日の日付を取得
$time = time();
$year = date("Y", $time);
$month = date("n", $time);
$day = date("j", $time);
 
print("<select name=\"year\">");

//年を表示
for( $i = 2011; $i <= 2015; $i++ ){
	if( $i == $year ){
		print("<option value=\"$i\" selected>$i</option>");
	}else{
		print("<option value=\"$i\">$i</option>");
	}
}
print("</select> 年 ");

//月を表示
print("<select name=\"month\">");
for( $j = 1; $j <= 12; $j++ ){
	if( $j == $month ){
		print("<option value=\"$j\" selected>$j</option>");
	}else{
		print("<option value=\"$j\">$j</option>");
	}
}
print("</select> 月 ");

//日を表示
print("<select name=\"day\">");
for( $k = 1; $k <=31 ; $k++ ){
	if( $k == $day ){
		print("<option value=\"$k\" selected>$k</option>");
	}else{
		print("<option value=\"$k\">$k</option>");
	}
}
print("</select> 日 ");
?>

Categoty in PHP

スマートフォンサイトへの振り分け

without comments

<head>内に、下記を入れ『スマートフォン用のサイトを表示しますか?』というアラートを表示させます。

<!-- SmartPhone -->
<script type="text/javascript">
	//if ((navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('iPad') > 0) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {
	if (document.referrer.indexOf('(ドメイン名:例 phono.co.jp)') == -1 && ((navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('iPad') > 0) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) {
		if(confirm('スマートフォン用のサイトを\n表示しますか?')) {
		location.href = '../smp/disney/';
		}
	}
</script>
<!-- /SmartPhone -->

そして、スマホだけに見せるボタンなどは下記の様に記述します。

		<!-- スマートフォンボタン -->
		<script type="text/javascript">
			if ((navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('iPad') > 0) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {
				document.write ('<a href="(リンクしたいURL)"><img src="/tv/af_lib/img/btn_smp.gif" width="134" height="21" alt="スマートフォンサイトへ" border="0" style="margin:40px 0 5px 0;float:right;" /></a>');
			}
		</script>
		<!-- /スマートフォンボタン -->

Categoty in JavaScript / Others / SmartPhone

ビード径(車輪サイズ)

without comments

650A:590mm
650B:584mm
26インチHE:559mm

Categoty in Others

商用利用可の音楽素材:JewelBeat

without comments

JewelBeat 1曲 $ 0.99。
http://www.jewelbeat.com/store/downloadhome.php

気になるライセンス

http://www.jewelbeat.com/static/license.php
(B) RIGHT GRANTED
1. The Music may be used, edited, and/or incorporated according to the guidelines described herein into any production including, but not limited to, television, radio, film, video, software, physical products, telephone on-hold, video games, websites, podcasts, events & tradeshows, audio books and online videos.

カテゴリーはこんな感じ

Blues / Children / Classical / Comedy / Corporate / Country / Dramatic / Electronic / Hip Hop & Urban / Jazz / March / Minimal / Motivation / Orchestral / Others / Pop / Religious / Rock / Seasonal / Vocal / Well Known / World

Categoty in Music / Service

最適な font-family の参考

without comments

font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック',sans-serif;
か、半角英数字を明朝にしたければ
font-family:Georgia,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック',sans-serif;

Categoty in CSS / Font