-1

我们在 HTML 页面中的字段很少,并且正在使用 php.ini 将其写入文件中。

该文件包含数据,但是,运行一个 bash 脚本,该脚本使用 .txt 作为扩展名的该文件不起作用。

手动打开并重新保存文件时,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()

然后编辑确定,“因为...”

  1. fclose($handle)关闭句柄引用的文件:$handle
  2. unlink()将文件路径字符串作为参数,而不是资源。
  3. 如果按预期使用,unlink()将实际删除文件。
于 2013-08-05T18:44:23.833 回答
0

终于得到了答案,它是由 php 创建的文本文件中缺少的文件结尾。无论如何,谢谢大家的贡献。

于 2013-08-14T17:31:46.730 回答
0

unlink()如上所述将删除该文件。刚刚创建了一个这样的纯脚本

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

此脚本适用于存储数据的 f9。但是在这个文件上运行 bash 脚本,文件输入为 test.txt 什么都不做。但是再次使用相同的文件名打开和保存,它就可以工作了。

于 2013-08-05T19:33:31.360 回答