Home > PHP Archive

PHP Archive

さくらインターネットのPHPで携帯の空メールシステム(.mailfilter)

さくらインターネットのPHPで携帯の空メールシステム(.mailfilter)

さくらインターネットで「PHP」と「.mailfilter」を利用し空メールを受信し返信する方法

■サーバー

さくらインターネットレンタルサーバ(スタンダード)

■スクリプト

PHP

■方法

「.mailfilter」を利用しメールをPHPスクリプトに転送しPHPスクリプトで転送されたメールを受け取る

■メールフィルターの設定

指定のアドレスに送信されたメールをPHPスクリプトに転送

/home/アカウント名/MailBox/メールアカウント名

ディレクトリの「.mailfilter」ファイルを編集

to "| /usr/local/bin/php -q /home/アカウント名/www/スクリプト名"
exit

■スクリプト側

転送されたメールを受け取る

$source = file_get_contents("php://stdin");

あとは転送されたメールのアドレスにメールを送信する

  • Powered by MiuxMiu

PHPで携帯の空メールシステム(自動返信)sendmailのaliases設定

PHPで携帯の空メールシステム(自動返信)sendmailのaliases設定

PHPで携帯の空メールシステム(自動返信)を作成する時のsendmailのaliasesの設定

■サーバー

FreeBSD

■MTA

sendmail

■スクリプト

PHP

■空メールシステムの仕組み

指定したアドレスに送信されたメールを「aliases」を設定でスクリプトに転送しスクリプトで受け取りメールを送信する

■aliasesの設定(sendmail)

karamail@karamail.comを空メールアドレスとする

指定のアドレスに送信されたメールをPHPスクリプトに転送

/etc/aliases

に下記を入力

karamail: |"/home/karamail/www/send.php"

これでkaramail@karamail.comで受信したメールがsend.phpに転送される

■スクリプト側

転送されたメールを受け取る

$source = file_get_contents("php://stdin");

あとは転送されたメールのアドレスにメールを送信する

  • Powered by MiuxMiu

さくらインターネットでPHP+MySQL+UTF-8で文字化けする時の対策

さくらインターネットでPHP+MySQL+UTF-8で文字化けする時の対策

さくらインターネットでMySQLの文字コードがEUC-JPでブラウザに出力する文字コードがUTF-8の時、日本語が文字化けする時の対策

■サーバー

さくらインターネットレンタルサーバ(スタンダード)

■スクリプト

PHP

■データベース

MySQL

■ブラウザに出力する文字コード

UTF-8

■MySQLの文字コード

EUC-JP

■症状

さくらインターネットでMySQLの文字コードがEUC-JPでブラウザに出力する文字コードがUTF-8の時、日本語が文字化けする

■対策方法

MySQLに接続したあとにクエリの文字コードを設定する

<?php
$conn = mysql_connect("DBサーバ名", "接続ID", "接続パスワード");
mysql_query("SET NAMES utf8",$conn); //クエリの文字コードを設定
mysql_select_db("DB名", $conn);
?>

  • Powered by MiuxMiu

PHPのmb_strimwidthで文字化けする場合

PHPのmb_strimwidthで文字化けする場合

PHPのmb_strimwidthで文字化けする場合の対処方法

■スクリプト

PHP

■症状

PHPのmb_strimwidthで文字化けする

■対処方法

mb_strimwidthに文字コードを指定する

$str = mb_strimwidth($str, 0, 10, "…");

を下記に変更

$str = mb_strimwidth($str, 0, 10, "…", utf8);

  • Powered by MiuxMiu

PHPのmb_strimwidthで表示する文字列を丸める(文字数を制限表示)

PHPのmb_strimwidthで表示する文字列を丸める(文字数を制限表示)

PHPのmb_strimwidthで記事タイトルなど指定した幅で表示する文字列を丸める(文字数を制限表示)

■スクリプト

PHP

■作業

記事タイトルなど指定した幅で表示する文字列を丸める(文字数を制限表示)

■方法

mb_strimwidthを使う

■mb_strimwidthとは

mb_strimwidthは文字列を指定した幅で丸める

■mb_strimwidthの使用例

<?php
$str = "Hello,world!";
$str = mb_strimwidth($str, 0, 10, "…", utf8);
print "$str";
?>

■mb_strimwidthの出力結果

Hello,w…

  • Powered by MiuxMiu

PHPのhtmlspecialcharsを使ってHTMLタグを無効化する方法

PHPのhtmlspecialcharsを使ってHTMLタグを無効化する方法

PHPのhtmlspecialcharsを使ってHTMLタグを無効化する方法

■タグの無効化

htmlspecialchars を使う

■htmlspecialcharsとは

htmlspecialchars関数は特殊文字をHTMLエンティティに変換する関数で変換文字の対象としては、「&」と「<」と「>」と「"」と「'」がある

■PHP書式

htmlspecialchars(文字列);

■戻り値

HTMLエンティティに変換された文字列

■htmlspecialcharsの使用例

<?php
$str = "<a href=¥"http://www.google.co.jp/¥">Google</a>";
print htmlspecialchars($str);
?>

■htmlspecialcharsの出力結果

<a href="http://www.google.co.jp/">Google</a>

  • Powered by MiuxMiu

PHPで文字列をURLエンコード・デコード(urlencode・urldecode)

PHPで文字列をURLエンコード・デコード(urlencode・urldecode)

PHPで文字列をURLエンコード・デコードする方法

■スクリプト

PHP

■作業

PHPで文字列をURLエンコード・デコード

■urlencodeとは

「-」と「_」と「.」を除くすべての非英数文字が「%」に続く二桁の数字で置き換えられ、空白は「+」にエンコードされる

■urldecodeとは

「%」に続く二桁の数字で置き換えられた文字を、元の形に復元する

■urlencodeの使用例

<?php
$url = "こんにちは";
print urlencode($url);
?>

■urldecodeの使用例

<?php
$url = "%82%B1%82%F1%82%C9%82%BF%82%CD";
print urldecode($url);
?>

  • Powered by MiuxMiu

PHPのnl2brを使ってHTMLタグ中の改行コードを<br />置換(変換)

PHPのnl2brを使ってHTMLタグ中の改行コードを<br />置換(変換)

■スクリプト

PHP

■作業

PHPのnl2brを使ってHTMLタグ中の改行コードを<br />置換(変換)する

■nl2brとは

nl2brは指定した文字列に含まれるすべての改行コード(¥nなど)の前に<br />あるいは<br>を挿入して返す

■使用例

<?php
echo nl2br("Hello,¥nworld!");
?>

出力は下記

Hello,<br />
world!

  • Powered by MiuxMiu

PHPでYahoo!天気情報(RSS配信)用の都道府県名の入った配列

PHPでYahoo!天気情報(RSS配信)用の都道府県名の入った配列

■Yahoo!天気情報(RSS配信)用の都道府県の番号と都道府県名の入った配列

$pref = array('道北'=>'1a','稚内'=>'1100','旭川'=>'1200','留萌'=>'1300','道東'=>'1c','網走'=>'1710','北見'=>'1720','紋別'=>'1730','根室'=>'1800','釧路'=>'1900','帯広'=>'2000','道央'=>'1b','札幌'=>'1400','岩見沢'=>'1500','倶知安'=>'1600','道南'=>'1d','室蘭'=>'2100','浦河'=>'2200','函館'=>'2300','江差'=>'2400','青森県'=>'2','青森'=>'3110','むつ'=>'3120','八戸'=>'3130','岩手県'=>'3','盛岡'=>'3310','宮古'=>'3320','大船渡'=>'3330','宮城県'=>'4','仙台'=>'3410','白石'=>'3420','秋田県'=>'5','秋田'=>'3210','横手'=>'3220','山形県'=>'6','山形'=>'3510','米沢'=>'3520','酒田'=>'3530','新庄'=>'3540','福島県'=>'7','福島'=>'3610','小名浜'=>'3620','若松'=>'3630','東京都'=>'13','東京'=>'4410','大島'=>'4420','八丈島'=>'4430','父島'=>'9600','神奈川県'=>'14','横浜'=>'4610','小田原'=>'4620','埼玉県'=>'11','さいたま'=>'4310','熊谷'=>'4320','秩父'=>'4330','千葉県'=>'12','千葉'=>'4510','銚子'=>'4520','館山'=>'4530','茨城県'=>'8','水戸'=>'4010','土浦'=>'4020','栃木県'=>'9','宇都宮'=>'4110','大田原'=>'4120','群馬県'=>'10','前橋'=>'4210','みなかみ'=>'4220','山梨県'=>'19','甲府'=>'4910','河口湖'=>'4920','新潟県'=>'15','新潟'=>'5410','長岡'=>'5420','高田'=>'5430','相川'=>'5440','長野県'=>'20','長野'=>'4810','松本'=>'4820','飯田'=>'4830','富山県'=>'16','富山'=>'5510','伏木'=>'5520','石川県'=>'17','金沢'=>'5610','輪島'=>'5620','福井県'=>'18','福井'=>'5710','敦賀'=>'5720','愛知県'=>'23','名古屋'=>'5110','豊橋'=>'5120','岐阜県'=>'21','岐阜'=>'5210','高山'=>'5220','静岡県'=>'22','静岡'=>'5010','網代'=>'5020','三島'=>'5030','浜松'=>'5040','三重県'=>'24','津'=>'5310','尾鷲'=>'5320','大阪府'=>'27','大阪'=>'6200','兵庫県'=>'28','神戸'=>'6310','豊岡'=>'6320','京都府'=>'26','舞鶴'=>'400','京都'=>'6100','滋賀県'=>'25','大津'=>'6010','彦根'=>'6020','奈良県'=>'29','奈良'=>'6410','風屋'=>'6420','和歌山県'=>'30','和歌山'=>'6510','潮岬'=>'6520','鳥取県'=>'31','鳥取'=>'6910','米子'=>'6920','島根県'=>'32','松江'=>'6810','浜田'=>'6820','西郷'=>'6830','岡山県'=>'33','岡山'=>'6610','津山'=>'6620','広島県'=>'34','広島'=>'6710','庄原'=>'6720','山口県'=>'35','下関'=>'8110','山口'=>'8120','柳井'=>'8130','萩'=>'8140','徳島県'=>'36','徳島'=>'7110','日和佐'=>'7120','香川県'=>'37','高松'=>'7200','愛媛県'=>'38','松山'=>'7310','新居浜'=>'7320','宇和島'=>'7330','高知県'=>'39','高知'=>'7410','室戸'=>'7420','清水'=>'7430','福岡県'=>'40','福岡'=>'8210','八幡'=>'8220','飯塚'=>'8230','久留米'=>'8240','佐賀県'=>'41','佐賀'=>'8510','伊万里'=>'8520','長崎県'=>'42','厳原'=>'700','福江'=>'800','長崎'=>'8410','佐世保'=>'8420','熊本県'=>'43','熊本'=>'8610','阿蘇乙姫'=>'8620','牛深'=>'8630','人吉'=>'8640','大分県'=>'44','大分'=>'8310','中津'=>'8320','日田'=>'8330','佐伯'=>'8340','宮崎県'=>'45','宮崎'=>'8710','延岡'=>'8720','都城'=>'8730','高千穂'=>'8740','鹿児島県'=>'46','名瀬'=>'1000','鹿児島'=>'8810','鹿屋'=>'8820','種子島'=>'8830','沖縄県'=>'47','那覇'=>'9110','名護'=>'9120','久米島'=>'9130','南大東島'=>'9200','宮古島'=>'9300','石垣島'=>'9400','与那国島'=>'9500');

  • Powered by MiuxMiu

携帯サイトPHP+MySQL+UTF-8で日本語が文字化けする時の対策

携帯サイトPHP+MySQL+UTF-8で日本語が文字化けする時の対策

携帯サイトでMySQLの文字コードがECU-JPでブラウザに出力する文字コードがShift-JISの時、日本語が文字化けする時の対策

■ブラウザに出力する文字コード

Shift-JIS

■MySQLの文字コード

ECU-JP

■文字化け対策

MySQLに接続したあとにクエリの文字コードを設定する

<?php
$conn = mysql_connect("DBサーバ名", "接続ID", "接続パスワード");
mysql_query("SET NAMES sjis",$conn); //クエリの文字コードを設定
mysql_select_db("DB名", $conn);
?>

  • Powered by MiuxMiu

Home > PHP Archive

Feeds

Return to page top