まずは以下のサンプルをご覧ください。サーバーはWindowsで、内部・外部の文字エンコーディングはUTF-8です。UTF-8のファイル名を外部から受け取り、Windowsなのでファイル名をShift_JISに変換してファイルを読み込んでいます。basename関数を通すことにより、ディレクトリトラバーサル対策を施しています。 <?php header('Content-Type: text/plain; charset=UTF-8'); $file_utf8 = basename($_GET['file']); $file_sjis = mb_convert_encoding($file_utf8, 'cp932', 'UTF-8'); $path = './data/' . $file_sjis; var_dump($path); readfile($path); しかし、ディレクトリト
こんばんは。ファガイです。本日はJavaScriptだけでブラウザのある情報のデータを保存する機能の実装方法について書こうと思います。 概要 ローカル上だけでファイルの保存ができるようになる方法になります。 自分が作っているMarkdown-F Editorはその機能を使って保存を実装しています。 今回利用する機能はHTML5の機能なので、ブラウザによっては実装されていない可能性がありますので、注意。 確認ブラウザ IE11 Firefox GoogleChrome にて確認を取ってます。IEに関しては独自関数を使っているため、前のブラウザでは対応されていない可能性があります。 ソースコード ソース自体は結構簡単です。 var text = "テキストデータ"; var blob = new Blob([text], {type: "text/plain"}); // バイナリデータを作り
こんにちはこんにちは Rails 4 でさくっとアクセスログ出そうと思ったけど、思ったよりさくっといかなかったので実装方法を残しておく ログの項目 これくらいの簡単な内容 時間 ユーザー名 リクエストURI USER AGENT 独自ログの設定 まず、Railsのログじゃなくて独自のログを出したかったので、 config/environment.rb # Load the Rails application. require File.expand_path('../application', __FILE__) class AccessLogger < ::Logger class NoHeaderLogDevice < ::Logger::LogDevice def add_log_header(file) end end class AccessFormatter < ::Logge
scpとrsync、ケツにスラッシュがあるかないか毎回確認するのでメモしておく。 個人的にはscp使わないで rsync option from/ dest/で 両方共ケツスラッシュ付けてやってる。 例 from/files_dirをdest/files_dirに持って行きたい % tree . . ├── dest └── from └── files_dir └── file 3 directories, 1 file % まとめ PATH scp rsync from/files_dir/ dest/ NG NG from/files_dir dest/ NG OK from/files_dir/ dest/files_dir/ OK OK from/files_dir dest/files_dir OK NG from/files_dir/ dest/files_dir OK OK
lost+foundファイルの見つけ方 まず最初に、「lost+found」ファイルの見つけ方です。私の場合は、アプリ「GrandPerspective」を使います。 該当するファイルを見つけたら、そこで右クリック。「Reveal in Finder」を選択すると、Finderが開いて、目的のファイルを見つけることができます。 lost+foundとは そもそもこの「lost+found」ファイルとは何なんでしょう?私も全く知らない間に生成されたようでして、こんなものが出来ていたとは気が付きませんでした。 Googleで検索してみると、どうもこれは「迷子になってしまったファイル」らしいです。 システムが正常に終了されなかったとき、次回起動時にファイルシステムをチェックするfsckというコマンドが実行されます。 このとき、ディスクにはあるのにファイルテストシステム上には無いことになっている(
Lolipopという音楽プレイヤーを作った。 初めて使うツール多かったので、メモ。 Vue vue.js Vue.js人気だけど個人的にはあんまり良くわかってなくて、良さを理解するために触ってみようとなった。 Vue.js、サーバ側で生成したHTMLに対し、JSっぽい動きを与えるVMとして使うのに向いてる。 オレオレComponentを量産して組み合わせて使うのはあんまり得意じゃなさそう。 というのも、この前React+fluxでオモチャ作ったんだけど、その時と比べるとComponentの扱いに結構苦労したからだ。 頭のこんがらがり具合はAngularのディレクティブと大して変わらない気がする。 結果としてReact(+flux)の良さを認識することになった。 React、コンポーネントの正体がJSのクラスだし、データのやり取りはEventEmitter使って一方向でやるの推奨なので、「こ
どうも、Yosemiteにアップグレードしました。どうも僕です。 homebrewを使用しているユーザーがYosemiteにアップデートすると、/usr/localを移動しないととても時間がかかるかも、とかどうとか言われてたのは事前に発見していました。 でも「時間がかかるだけで、それ以外には問題ないよ」ということも添えられていたので、じゃあいいかとそのままアップグレードしました。 結果としては 時間かからなかったけど、homebrewが使えなくなった ※この記事には追記が2つあります。必ず最後まで目を通してから自分で最適だと思う方法を試してください。 エラー詳細 owner@owner-mac:~$ brew install nkf /usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Rub
従来のWebアプリケーションでは対応できなかったファイルI/Oによる永続化を実現するべく策定されたHTML5 File APIを概説する書籍です。File APIが実装されたGoogle Chromeを例に、ストレージの使用法、ファイルの読み書き、ドラッグ&ドロップ、ディレクトリ操作、URLを使った参照、同期APIなどのトピックを紹介します。なお本書はEbookのみの販売となります。 はじめに 1章 概要 ユースケース セキュリティ上の考慮事項 ブラウザのサポート 注意 2章 ストレージとクオータ ストレージの種類 一時ストレージ 永続ストレージ 無制限ストレージ クオータ管理API ストレージの追加要求 現在の使用状況のチェック 3章 作業の開始 ファイルシステムを開く エラーの取り扱い 4章 ファイルの処理 FileEntry ファイルの作成 名前によるファイルの読み取り ファイルへの
テキスト編集にVimを利用しているのですが、とても奥が深い道具なので一人で使う分には気づかない機能が沢山あります。 日頃職場の先輩方から教わりとても効率的に出来るようになったVimのtipsを、いくつかこの記事にまとめます。 知ってる人は既に使いこなしているものばかりだと思いますが、Vimのそんな便利だけど気付きにくい機能を共有できればと思います。 カーソルの位置を移動する直前に戻す うっかりggしてしまい作業場所を見失ってしまった、という時や検索などによってカーソル位置を変更した時に元の位置に戻りたい、ということはよくあります。 こういった移動履歴はジャンプリストと呼ばれる場所に記録されているので1手で戻る事ができます。 これはバッファ内だけでなく、ファイル間の移動を記録しているため、タグジャンプなどで別のファイルに移動した後も元いた場所に戻ることが出来ます。 参考help: :h CT
対象OS:Windows 2000/Windows XP/Windows Vista/Windows 7/Windows 8/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012 解説 ●Windows OSで利用できるリンクの種類 Windows OSでは、ファイルやフォルダ名へのリンク(参照)を行う機能として、「ハードリンク」や「ジャンクション」「シンボリック・リンク」などがある。これらは同じような機能を提供しているが、例えば「フォルダへのリンク」と「ファイルへのリンク」の扱いが異なるなど、いくらか違いがある。ユーザーは用途に応じてこれらを使い分ける必要がある。 それぞれのリンクの特徴を表にまとめておく。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く