如果我通过浏览器运行这个简单的代码,它会正常工作,并在与脚本相同的位置创建“text.txt”。
<?php
$op = fopen('text.txt', 'w');
fwrite($op, 'test');
fclose($op)
?>
但如果我使用命令行
运行php script.php
它在完全不同的目录中创建文件。
为什么运行浏览器和命令行会使相同的脚本表现不同?!
要解决此问题,我需要填写完整路径:fopen('/home/user/site.com/subfolder/text.txt', 'w');
我有一个包含许多行和许多文件路径的脚本,更改所有内容的工作量太大了。如何在不将完整路径放入文件的情况下解决此问题。
答案 0 :(得分:1)
打开终端并输入:
cd /home/user/site.com/subfolder
然后运行:
php script.php
答案 1 :(得分:0)
start_script.sh
#!/bin/bash
cd /to/location/of/script
php script.php