[PHP-users 13846] Re: qmailからのパイプでPHP 起動
komura
php-users@php.gr.jp
Sat, 8 Mar 2003 14:23:32 +0900
komura です。
chmod の第2引数の権限の指定でダブルコーテーションを付けないように
すれば解決すると思います。
On Sat, 08 Mar 2003 02:22:53 +0900
Tatsuro Nakagawa <tatsuro_nakagawa@ydc.co.jp> wrote:
> |/usr/local/bin/php -q /home/user/hogehoge.php
>
> PHPの中身で・・・
>
> $fp = fopen( $filepath."/".$filename,'w');
> fwrite( $fp, $data );
> fclose( $fp );
> if(!chmod($filepath."/".$filename,"0644")){
if(!chmod($filepath."/".$filename, 0644)){
> エラー処理
> }
>
> とやっていて、エラー処理は呼ばれていない模様です。
>
> しかし出来上がったファイルは・・・
>
> --w----r-T 1 user user 4560 3月 8 01:26 filename.ext
>
> というようなファイルができてしまいます。
> 上位のパスは全て755になっています。
> userは適切なuserに置き換えてください。
>
> # qmailのエイリアスを実在ユーザに転送し、その実在ユーザの.qmail内に上記
> のパイプ処理が入っています。
>
> このfopenで作成されるファイルのパーミッションを変更することは可能なので
> しょうか?
chmod 関数をダブルコーテーションを付けて呼び出した時の挙動がおかしい
ような気がします。
$ php -v
PHP 4.3.0 (cli) (built: Jan 26 2003 01:13:35)
Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies
$ ls -l test.txt
-rw-r--r-- 1 komura komura 0 3月 8 14:04 test.txt
$ php -r 'chmod( "test.txt", "0644" );'
$ ls -l test.txt
--w----r-T 1 komura komura 0 3月 8 14:04 test.txt
--
komura
komura@ma9.seikyou.ne.jp