在linux中使用php创建txt文件
我们在HTML页面中只有几个字段,这是使用php写入文件的 该文件包含数据,但是,运行以.txt为扩展名的bash脚本无法工作 当手动打开并重新保存文件时,bash脚本将正常工作 我已尝试更改该文件的权限,但bash脚本仍不使用该文件。在此方面的任何帮助都将不胜感激 PHP脚本:在linux中使用php创建txt文件,php,linux,bash,Php,Linux,Bash,我们在HTML页面中只有几个字段,这是使用php写入文件的 该文件包含数据,但是,运行以.txt为扩展名的bash脚本无法工作 当手动打开并重新保存文件时,bash脚本将正常工作 我已尝试更改该文件的权限,但bash脚本仍不使用该文件。在此方面的任何帮助都将不胜感激 PHP脚本: $name = "test.txt"; $handle = fopen($name, "w"); fwrite($handle, "my message"); fclose($handle);
$name = "test.txt";
$handle = fopen($name, "w");
fwrite($handle, "my message");
fclose($handle);
Bash脚本:
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
INPUT=“$1”
OLDIFS=$IFS
如果=,
[!-f$INPUT]&&&{echo“$INPUT文件未找到”;退出99;}
同时读取消息编号;做
echo$message#或您希望对$line变量执行的任何操作
#j=$[$(行)]
回音$number
echo“$message”| gnokii--sendsms$number--smsc$smsc
完成<$INPUT
IFS=$OLDIFS
您可能希望使用fclose($handle)
而不是unlink()
编辑然后确定,“因为…”
fclose($handle)
关闭句柄引用的文件:$handle
unlink()
将文件路径字符串作为参数,而不是资源unlink()
实际上会删除该文件unlink()
将删除该文件。刚刚创建了这样一个简单的脚本
<?php
$name = "/var/www/test.txt";
$handle = fopen($name, "w");
fwrite($handle, "test,9944");
fclose($handle);
?>
此脚本在f9中用于存储数据。但在此基础上运行bash脚本并将文件输入为test.txt不会产生任何效果。但是再次以相同的文件名打开并保存,它就工作了。最终得到了答案,即php创建的文本文件中缺少的文件结尾。无论如何,谢谢大家的贡献。一个解释就好了。。。“因为……”炮手,unlink()也将一个资源作为第二个参数。你能发布bash脚本试图做什么吗?另外,请澄清“仅重命名扩展名”的含义。您可以尝试:
$name=“/tmp/test.txt”
我将回滚您的问题,因为如果您将取消链接
更改为fclose
,这是一个完全不同的问题。很抱歉,这只是fclose。我把它贴错了。取消链接已被注释。@rlvamsi已将您的完整代码发布。。。(dot-dot
)首先;-)