我想从PHP访问编辑任何txt文件(在gedit编辑器上) 我正在尝试使用类似的东西:
<?php
shell_exec("gedit filename.txt");
?>
但它甚至没有给出任何结果:
$output=shell_exec("gedit filename.txt");
echo=echo"<pre>$output</pre>";
是否可以在Linux上从PHP打开任何文件或应用程序?
答案 0 :(得分:1)
shell_exec
- 通过shell执行命令并将完整输出作为字符串返回。输出在终端输出。
所以这个:
<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>
将返回目录的ls -lart。
如果对gedit
输出执行相同操作,则只会出现错误消息和警告,因为gedit会将文本返回到GUI而不是终端。
如果您想使用此命令获取某些文本,可以使用cat
<?php
$output = shell_exec('cat ' . $filename');
echo "<pre>$output</pre>";
?>
这是您打开和编辑文件的方式。
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
答案 1 :(得分:1)
Gedit是gui的编辑。
您可以做的是以下
// instead of less you could also use cat
$file_content = shell_exec("less filename.txt");
// ...
// manipulate the data via a textarea with html and php
$new_file_content = $_POST['textarea'];
$write_to_file = shell_exec("echo \"".$new_file_content."\" > filename.txt");
答案 2 :(得分:0)