-1

HTML ページにはいくつかのフィールドがあり、これは php を使用してファイルに書き込まれています。

ファイルにはデータが含まれていますが、拡張子が .txt のこのファイルを使用する bash スクリプトを実行しても機能しません。

ファイルを開いて手動で再保存すると、bash スクリプトは正しく機能します。

ファイルのアクセス許可を変更しようとしましたが、bash スクリプトはまだこのファイルを使用していません。これに関するヘルプは大歓迎です。

PHP スクリプト:

$name = "test.txt";    
$handle = fopen($name, "w");    
fwrite($handle, "my message");    
fclose($handle);

バッシュスクリプト:

INPUT="$1"

OLDIFS=$IFS
IFS=,

[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }

while read message number ; do 

    echo $message # or whaterver you want to do with the $line variable

    #j=$[$(line)]

    echo $number

    echo "$message" | gnokii --sendsms $number --smsc $SMSC

done < $INPUT

IFS=$OLDIFS
4

3 に答える 3

3

fclose($handle)おそらく、よりもむしろ使用したいでしょうunlink()

編集OK では、「なぜなら...」

  1. fclose($handle)ハンドルが参照するファイルを閉じます。$handle
  2. unlink()リソースではなく、パラメータとしてファイル パス文字列を取ります。
  3. 意図したとおりに使用すると、unlink()実際にファイルが削除されます。
于 2013-08-05T18:44:23.833 に答える
0

unlink()前述のように、ファイルを削除します。このような単純なスクリプトを作成しました

<?php
$name = "/var/www/test.txt";    
$handle = fopen($name, "w");    
fwrite($handle, "test,9944");    
fclose($handle);
?>

このスクリプトは、データを保存する際に機能します。しかし、test.txtとしてファイル入力を使用してこれでbashスクリプトを実行しても何も起こりません。しかし、同じファイル名で再度開いて保存すると機能します。

于 2013-08-05T19:33:31.360 に答える