Tech Racho エンジニアの「?」を「!」に。
  • 開発

[PHP] Windowsでrename、unlinkする方法

Linux/Mac上で開発されていたコードをWindows上でXAMPP(Apache, MySQL, PHP)を使って動かそうとしたところ、動かないコードがありました。
それはファイル操作のrenameです。

windowsではファイルオープン中にrenameやunlinkでファイルをリネームしたり、削除したりすることができないようです。

Rubyのメーリングリストでも、話題になっていました。(PHPとは関係ないですが、プラットフォームの問題だと思いますので同じでしょう)

対応方法

対策としては、きちんとcloseしてからrename, unlinkすればOKでした。

また、Windowsでは、rename(old, new)としたときにnewのパスに既にファイルが存在していると、
エラーになるという報告もありますので、併せて気をつけたいですね。

UNIX互換OSばかり使っていると、Windowsでの開発のハマりどころを忘れてしまいそうです^^;

ではでは


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。