file_put_contentsをwindows上&コマンドラインで実行したい!エラーではまったのでメモ

比較的使い慣れているPHPで、csvを編集 → file_put_contents()で保存したい。それをwindows上でやりたい!

カンタンにできると思いきや、エラーにはまって悪戦苦闘したので、注意点などをメモしておきます。

今回実行したかったのは以下のPHPです!

スポンサーリンク

失敗①

このプログラム、windows上ではなく、レンタルサーバー上なら全く問題なく動きます。でもローカル環境だと以下のエラーが出てきます。

Warning: file(moto.csv): failed to open stream: No such file or directory in ….

う~ん・・・

とりあえず相対パスではなく、絶対パスにしたらどうにかなるんじゃ??と軽い気持ちで以下のように訂正。

失敗②

が・・・。

またもエラー($・・)/~~~

Warning: file_put_contents(C: est\ato.csv): failed to open stream: Invalid argument in ….

なぜーーーΣ(゚д゚lll)

と思いながらgoogle先生に尋ねてみると

 

Windows 環境では、ファイルパスで用いる全てのバックスラッシュを エスケープするかフォワードスラッシュを使用することに注意してください。
PHPマニュアル

“c:\\folder\\resource.txt” ← こんな風に書かないといけないらしい。。。

\と¥は同じです。たぶん。

というわけで、

windows上でfile_put_contentsに成功!

無事、実行することができました。

C\:xampp\php\php.exe “C:\test\test.php”

とコマンドに打ち込み実行しました。

追記

成功したと思ったのも束の間、またも、はまりました。。。

原因はmoto.csvをSHIFT-JISで保存してしまっていたことでした。UTF-8で保存すれば、うまく実行できるのですが、それに気付くのに半日費やしました(+o+)

蛇足

ちなみに、今回やりたかったのは、以下。

☆住所のCSVファイル → 経度,緯度,一致レベルのCSVファイルを作成

具体的には以下のような感じです。

↓↓↓

その時の利用したPHPが以下です。

YahooAPIを利用して住所から緯度・経度・一致レベルを一覧にしてCSVにしたかったんですよねーー。

意外に苦労してしまいました。

コメント

お知らせ

羽織紐を手作りしてます!よろしければご覧ください!
  • 天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
    天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
  • 天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
    天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
  • 天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
    天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー

お知らせ

羽織紐を手作りしてます!よろしければご覧ください!
  • 天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
    天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
  • 天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
    天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
  • 天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
    天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
タイトルとURLをコピーしました