laravel4.2プロジェクト作成
composer create-project laravel/laravel=~4.2 /vagrant/hoge --prefer-dist
でcreateすると、
[RuntimeException] Failed to clone git@github.com:laravel/laravel.git via git, https, ssh protocols, aborting. - git://github.com/laravel/laravel.git Cloning into '/vagrant/green'... error: could not commit config file /vagrant/green/.git/config
このようなエラーが出ました。
composer create-project laravel/laravel=~4.2 hoge --prefer-dist
ディレクトリを真上にすると、うまくいきました。
原因は不明です。
Laravel 4 にてコントローラーを移動させた時のエラー処理
Bracketsはじめました
ejsでつまづいた情けない話
Node.jsでejsを用いてHTMLに値を入れ込む動作の際になぜかエラーが出続ける。
コードはこれ
<%= posts.forEach(function(post){ %>
<li><%= post %></li>
<%= }); %>
修正した後
<% posts.forEach(function(post){ %>
<li><%= post %></li>
<% }); %>
要するに、値を入れるところにだけ'%='にする必要があった。
PHPの$_FILES変数に悩まされた話
node.jsの話はとりあえず置いといて、、、(汗)
他のプロジェクトで使っているPHPの処理の中で$_FILESの扱いに困ったので記録として残しておきます。(以下、信ぴょう性はいまいちですのでご了承ください)
何がしたかったのかというと、「複数ファイルを送信の際、$_FILESの中身があるかどうかの判定をする」ただそれだけです。
ですが、HTMLのformにて<input type='file' name='hoge[]' >があるだけで、isset($_FILES['name])はtrueを返します。それじゃ、中身はどうなっとんやと思いvar_dump($_FILES['name])を出力しようとしたが出ない。
ということで、リファレンスを見ると$_FILESの配列の形がへんてこであると気づく。今回は複数ファイルを送信することもあり、
['hoge'](
['name'](
[0] => test1.txt,
[1] => test2.txt
)
...etc
)
という形で格納されていました。
僕は以下の形で入ってると思っていたので驚きました
['hoge'](
[0](
['name] => test1.txt,
....
)
[1](
['name'] => test2.txt,
.....
)
)
以下のリンクに詳細が書いてあります。(配列の形を、へんてこ=>下の形への変形の方法も書いてあります。)
僕は最終的に
foreach($_FILES['hoge']['name'] as $file){
empty($file[name])'true処理':'false処理' ;
}
と書いて判定を行いました。empty関数を使ったのは、isset関数だと空の文字列でもtrueを返してしまうためです(ファイルが何もアップロードされなかった場合['name'] => ""となる)。
こんなことをする必要があったのかは甚だ疑問ですが、残しておきます。