Linux - PHP mkdir创建目录,但没有写权限?

时间:2016-01-16 15:28:58

标签: php linux

我通过命令行运行一个php文件,其中包含以下代码:

file_put_contents("Some data", $path . "filename.txt");

此代码不会引发任何错误,并且会按预期创建文件夹。

如果我之后做的话:

chmod($path, 0777);

我收到“未能打开流:权限被拒绝”例外。

即使我做了

%matplotlib inline

from pandas import Series
import matplotlib.pyplot as plt

heights = Series(
    [165, 170, 195, 190, 170, 
     170, 185, 160, 170, 165, 
     185, 195, 185, 195, 200, 
     195, 185, 180, 185, 195],
    name='Heights'
)
freq = heights.value_counts().sort_index()


freq_frame = freq.to_frame()

mean = heights.mean()
median = heights.median()

freq_frame.plot.bar(legend=False)

plt.xlabel('Height (cm)')
plt.ylabel('Count')

plt.axvline(mean, color='r', linestyle='--')
plt.axvline(5, color='g', linestyle='--')

plt.show()

在PHP代码中的mkdir之后,我收到了错误。

如果我手动创建目录并通过linux命令将其设置为777,则everythig工作正常。为什么?

1 个答案:

答案 0 :(得分:0)

您可以在创建目录时设置权限

mkdir($path, 0777, true)

您还需要将file_put_contents的语法更改为

file_put_contents($path . "/filename.txt", "Some Data");