レンタルサーバの多くはセキュリティ上の問題からPHPをSafeModeで動かしてます。
PHPのページを見れば分かるのですが、mkdirやfopenなどの関数はスクリプトを動かしているユーザと所有者が同一でなければいけません。ところがモジュールで動いているPHPは実行者がapacheになってしまうようです。そうすると当然のようにエラーが出ます。
ファイルを開いて書き込むのに使うfopen関数。これが使えないとなると、だいぶ不便を感じるのではないでしょうか。
代替関数としてPHP5よりfile_put_contentsという関数ができました。詳細はPHPのページをご覧ください。
PHP5の動くサーバ限定ですが、fopenの制限を回避できるので紹介しておきます。