「php」検索結果
VBAでCSV出力する際のダブルクォーテーションのエスケープ[edit]
2018/12/21 【コード】
4. 改行コードは(CR+LF)を使用すること。
5. 改行コード(CR+LF)、ダブルクォーテーション、カンマを含むフィールドは ダブルクォーテーションで囲むのが望ましい。
6. フィールド内にダブルクォーテーションを含む場合、直前にダブルクォーテーションを付けてエスケープしなければならない。
7. ファイル内最終レコードの末尾には改行コードがあってもなくてもよい
ExcelでCSVを読ませるためには RFC4180 に準拠して、ダブルクォーテーションの前にダブルクオーテーションでエスケープする必要があると
Chrome の「このページは動作していません」問題を回避する[edit]
2018/02/06 【コード】
Chromeのバージョン56から、<script> や <iframe> タグが送信されると、「このページは動作していません」という ERR_BLOCKED_BY_XSS_AUDITOR エラーが出る場合がある。
「X-XSS-Protection」ヘッダーを送り出すことで、XSS機能を無効にすることができる。
-----------------------
●.htaccess
<ifModule mod_headers.c>
Header always set X-XSS-Protection "0"
</ifModule>
●Perlの場合の例
print "X-XSS-Protection: 0\n";
●PHPの場合の例
header('X-XSS-Protection: 0');
https://kantaro-cgi.com/blog/browser/disabled_chrome_err_blocked_by_xss_auditor.html
PHP で、ユーザーエージェント(iPhone・Android・タブレット・携帯・PC)によってページを振り分ける[edit]
2017/09/20 【コード】
$ua = $_SERVER['HTTP_USER_AGENT'];
if ((strpos($ua, 'Android') !== false) && (strpos($ua, 'Mobile') !== false) || (strpos($ua, 'iPhone') !== false) || (strpos($ua, 'Windows Phone') !== false)) {
// スマートフォンからアクセスされた場合
header("Location: smartphone/index.html");
exit();
} elseif ((strpos($ua, 'Android') !== false) || (strpos($ua, 'iPad') !== false)) {
// タブレットからアクセスされた場合
header("Location: tablet/index.html");
exit();
} elseif ((strpos($ua, 'DoCoMo') !== false) || (strpos($ua, 'KDDI') !== false) || (strpos($ua, 'SoftBank') !== false) || (strpos($ua, 'Vodafone') !== false) || (strpos($ua, 'J-PHONE') !== false)) {
// 携帯からアクセスされた場合
header("Location: mobile/index.html");
exit();
} else {
// その他(PC)からアクセスされた場合
header("Location: pc/index.html");
exit();
}
PHPでRSSの表示[edit]
2017/08/22 【コード】
<?php
$rss = "http://domain.jp/rss.xml";
$data = "";
$cp = curl_init();
curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cp, CURLOPT_URL, $rss);
curl_setopt($cp, CURLOPT_TIMEOUT, 60);
$data = curl_exec($cp);
curl_close($cp);
$rss = simplexml_load_string($data);
//var_dump($xml);
echo '<ul>';
foreach($rss->channel->item as $item){
$title = $item->title;
$date = date("Y年 n月 j日", strtotime($item->pubDate));
$link = $item->link;
$description = mb_strimwidth (strip_tags($item->description), 0 , 110, "…Read More", "utf-8");
?>
<li><a href="<?php echo $link; ?>" target="_blank">
<span class="date"><?php echo $date; ?></span>
<span class="title"><?php echo $title; ?></span>
<span class="text"><?php echo $description; ?></span>
</a></li>
<?php } echo '</ul>'; ?>
防草シート -超強力雑草も突き抜けない-[edit]
2017/08/15 【その他】
超強力雑草も突き抜けない
(J型ピン25本,ピンシール25枚付)
防草シート 初回限定キャンペーン 「とことん草なしシートセット」 1m×4.8m J型ピン・シール付
価格:5,130→ 3,980 円(税込)
住宅周りや事業所敷地、農地まで幅広く使える人気の商品。止めピンとピンシールが付いたお手軽セットで、小さなスペースの雑草対策や、破れなどの補修にピッタリです。
防草シートを敷いてとにかく雑草を抑えたい方にオススメです。
→ 防草シートのショップページへ
https://www.bousou-sheet.com/products/detail.php?product_id=5
タグ >> housekeeping
PHP : 受信メールの添付ファイルを保存する[edit]
2017/08/06 【リンク】
受信メールから、件名、本文、添付ファイル(画像)を取得する方法
PEARのMail_mimeDecodeを使用して、受信メールを解析します。
http://www.aiwake.co.jp/modules/bulletin/index.php?page=article&storyid=4
タグ >> php
Microsoft® ODBC Driver 13 for SQL Server® - Window[edit]
2016/08/30 【リンク】
Microsoft ODBC Driver for SQL Server は、Windows から Microsoft SQL Server および Microsoft Azure SQL Database へのネイティブな接続を提供します。
Azure上のCatalong Online
https://catalog-online.azurewebsites.net/list.php
https://www.microsoft.com/ja-jp/download/confirmation.aspx?id=50420
allow_url_fopen =offのサーバーでfile_get_contents()を動作させる方法[edit]
2016/06/22 【コード】
<?php
$url = "http://www.example.com/";
$data = "";
$cp = curl_init();
curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cp, CURLOPT_URL, $url);
curl_setopt($cp, CURLOPT_TIMEOUT, 60);
$data = curl_exec($cp);
curl_close($cp);
echo $data;
?>
PHP + PDO + MySQL のトランザクション制御方法[edit]
2016/06/16 【コード】
<?php
require_once("function.php");
try{
$dbh = new PDO(DSN, USERNAME, PASSWORD);
// 静的プレースホルダを指定
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
// エラー発生時に例外を投げる
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//パラメータ
$id = 1;
//トランザクション処理を開始
$dbh->beginTransaction();
try {
//プリペアドステートメント / ロック
$stmt1 = $dbh->prepare("SELECT * FROM USERS WHERE ID = ? FOR UPDATE");
$stmt1->bindParam(1, $id, PDO::PARAM_INT);
$stmt1->execute();
//プリペアドステートメント
$stmt = $dbh->prepare("UPDATE USERS SET COUNT = COUNT + 1 WHERE ID = ?");
$stmt->bindParam(1, $id, PDO::PARAM_INT);
$stmt->execute();
//コミット
$dbh->commit();
}catch(PDOException $e){
//ロールバック
$dbh->rollback();
throw $e;
}
} catch(PDOException $e){
echo $e->getMessage();
}
?>


