Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux中使用php创建txt文件_Php_Linux_Bash - Fatal编程技术网

在linux中使用php创建txt文件

在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);

我们在HTML页面中只有几个字段,这是使用php写入文件的

该文件包含数据,但是,运行以.txt为扩展名的bash脚本无法工作

当手动打开并重新保存文件时,bash脚本将正常工作

我已尝试更改该文件的权限,但bash脚本仍不使用该文件。在此方面的任何帮助都将不胜感激

PHP脚本:

$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
    )首先;-)