PHP无法写入文本文件

时间:2016-08-31 11:38:48

标签: php

我在WordPress / Woocommerce中使用以下代码:

function generatePassword($length = 6) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$pass = '';
for ($i = 0; $i < $length; $i++) {
$pass .= $characters[rand(0, $charactersLength - 1)];
}
return $pass;
}

$password = generatePassword();

$data = "\n" . $password . ',' . time();

$test = 'http://advokatami.bg/ot/a/docs/test/test.txt';
$file = fopen($test,"a");
fwrite($file,$data);
fclose($file);

它的工作原理除了它必须写入文件的最后部分。你能告诉我代码有什么问题吗?我尝试改变CHMOD,但没有成功。

1 个答案:

答案 0 :(得分:2)

您必须在服务器中提供实际文件位置路径的Web服务器路径,而不是URL。

$test = 'http://advokatami.bg/ot/a/docs/test/test.txt';

将其替换为服务器路径

$test = '<location_of_your_webroot_folder_in_server>/ot/a/docs/test/test.txt';

确保test具有公开读写权限。

如何查看文件夹路径?

1)使用以下代码

test.php文件夹中创建ot个文件
<?php
echo dirname(__FILE__);
die();

2)将其上传到ot文件夹。

3)从浏览器http://advokatami.bg/ot/test.php

执行文件

4)复制\ot\....之前的路径,并将其替换为<location_of_your_webroot_folder_in_server>