[PHP-users 13583] Re: system関数で出力が書き出せない
Masaki NOHTOMI
php-users@php.gr.jp
Tue, 25 Feb 2003 22:19:57 +0900
宮部さん、有り難うございます
解決いたしました!
On Tue, 25 Feb 2003 21:29:31 +0900 (JST)
Mr/Ms Miyabe Satoshi <satoshi@randynetwork.com> wrote:
> 宮部@ランディ・ネットワークと申します。
>
> From: Masaki NOHTOMI <narf.bi@alcnet.jp>
> Subject: [PHP-users 13580] Re: system関数で出力が書き出せない
> Date: Tue, 25 Feb 2003 20:34:14 +0900
> Message-ID: <20030225202921.A9CF.NARF.BI@alcnet.jp>
>
> narf.bi> > > system("cvs add $term[1] > /tmp/cvsadd.txt 2>&1");
>
> $term[1] に改行が入ってるんじゃないですか?
>
> つまり、
>
> "cvs add test/untitled7.php"
>
> が実行された後に、
>
> " > /tmp/cvsadd.txt 2>&1"
>
> が実行されているのだと思われます。
おっしゃるとおりでした。
trim関数で改行を削除しましたところ
正しく書き出すようになりました。
以下正常に動いたスクリプトの全文を記しておきます。
#!/usr/local/bin/php
<?php
system("cvs up > /tmp/cvsup.txt 2>&1");
if(!($file = fopen("/tmp/cvsup.txt", 'r'))) {
print("cannot open file");
exit;
}
while (!feof($file)) {
$line = fgets($file);
$term = explode(" ", $line);
if ($term[0] == '?') {
$trimmed = trim($term[1], "\n");
system("cvs add $trimmed > /tmp/cvsadd.txt 2>&1");
}
}
fclose($file);
?>
--
納富正樹 / Masaki NOHTOMI <narf@alcnet.jp>