古いけど
PHPでファイル入出力
ファイル読み込み
<?php $data = file_get_contents("sample.txt"); ?>
<?php $fp = fopen("sample.txt", "r"); while ($line = fgets($fp)) { echo "$line<br />"; } fclose($fp); ?>
ファイル書き込み
<?php file_put_contents("sample.txt", "ファイルへの書き込みサンプル"); ?>
<?php $fp = fopen("sample.txt", "w"); fwrite($fp, "ファイルへの書き込みサンプル"); fclose($fp); ?>
ファイル追記
<?php $fp = fopen("sample.txt", "a"); fwrite($fp, "ファイルへの追記サンプル"); fclose($fp); ?>
ネタ元
PHPでXPathスクレイピング
CME日経先物の最新四本値取得
$html = file_get_contents("http://www.cmegroup.com/trading/equity-index/international-index/nikkei-225-yen_quotes_settlements_futures.html"); $dom = new DOMDocument(); @$dom->loadHTML($html); $xml = simplexml_import_dom($dom); $ret = $xml->xpath("//*[@id=\"cmeTradeDate\"]/option[@selected='selected']"); //var_dump($ret); $yyyymmdd = "19000101"; foreach( $ret as $e ){ $yyyy = substr($e["value"],6,4); $mm = substr($e["value"],0,2); $dd = substr($e["value"],3,2); $yyyymmdd = $yyyy . $mm . $dd; //echo $yyyymmdd; //echo $e; } $ret = $xml->xpath("//*[@id=\"settlementsFuturesProductTable\"]/tbody/tr[1]"); //var_dump($ret); $outStr = ""; foreach( $ret as $e ){ $open = $e->td[0]; $high = $e->td[1]; $low = $e->td[2]; $last = $e->td[3]; $last = substr($last,0,-1); $volume = $e->td[6]; $volume = str_replace(",","",$volume); $outStr = "," . $yyyymmdd . "," . $open . "," . $high . "," . $low . "," . $last . "," . $volume; }
ネタ元
追記
ChromeでXpath取得したとき、tbody入ってる場合、抜かないとエラーになることある
Html Agility PackとXPathでスクレイピング
HtmlAgilityPackを使うにはプロジェクトごとにNuGetから導入する。
- ソリューションエクスプローラーで導入したいプロジェクトを選択しておいて、メニューバーから[プロジェクト]-[NuGet パッケージの管理]を選ぶ
- すると、[NuGet パッケージの管理]ダイアログが表示されるので、左側のペーンで[オンライン]を選択してから、右上の検索ボックスに「HtmlAgilityPack」(空白なし)と入力して[Enter]キーを押す。
- いくつかのパッケージが表示されるので、その中から[HtmlAgilityPack]を選び、そこに表示された[インストール]ボタンをクリックする
コード例
Dim wc As WebClient = New WebClient() Dim htmlStr As String htmlStr = wc.DownloadString("http://www.cmegroup.com/trading/equity-index/international-index/nikkei-225-yen_quotes_settlements_futures.html#tradeDate=11/22/2016") Dim html As HtmlAgilityPack.HtmlDocument = New HtmlAgilityPack.HtmlDocument() html.LoadHtml(htmlStr) Dim tags As HtmlAgilityPack.HtmlNodeCollection tags = html.DocumentNode.SelectNodes("//*[@id=""settlementsFuturesProductTable""]/tbody/tr[1]") Dim node As HtmlAgilityPack.HtmlNode For Each node In tags Trace.WriteLine(node.InnerText) Next
ネタ元
お名前.comで取得したドメインを移管せずにさくらインターネットで使用するときの設定方法
・さくらのコントロールパネルでドメインを設定
・さくらのファイルマネージャーでドメインをアップするフォルダを作成
・お名前.comでネームサーバーを変更
・さくらのファイルマネージャーでアクセス設定
ネタ元
excelVBAでロックしたセルに、シート保護を解除せずにデータを書き込む
こんな感じでシート保護を設定(UIのみ)を設定する
Option Explicit Private Sub Workbook_Open() ' 一旦、シート保護を解除 ActiveSheet.Unprotect ' シート保護を設定(UIのみ) ActiveSheet.Protect UserInterfaceOnly:=True ActiveWindow.ScrollRow = 1 End Sub
ネタ元
powershellでポップアップ
$wsobj = new-object -comobject wscript.shell $result = $wsobj.popup("PowerShellでメッセージボックスを表示")
ネタ元
powershell絶対パスからファイル名を取得する
Get-ChildItemコマンドレットは FileInfoオブジェクト を返します。
FileInfoクラスには 絶対パスからファイル名を取得するためのプロパティ Name がありますのでこれを使用します。
$(Get-ChildItem "C:\Work\HIRO1.mdf").Name
ネタ元