为什么我不能写文件?

时间:2019-07-13 02:22:42

标签: php file server

我必须将从表单中收到的信息写到一个文本文件中,并且我在本地进行了测试,并且可以正常工作。

$file = "data.txt";
$data = @fopen($file, "a");
//$data = @fopen("data.txt", "a");
@fwrite($data, "Number: " . $number . " |");
@fwrite($data, " Tittle: " . $tittle . " |");

但是当我将其上传到服务器时,数据不会写入文件中。 我已经尝试过了:

$data = @fopen("registers/data.txt", "a");
$data = fopen("registers/data.txt", "a");
$datos = fopen("./registers/data.txt", "a");

没有任何效果。

在download.php中,我下载了文件,但确实下载正确,但没有任何信息。

<?php
$file = "data.txt";

if(!file_exists($file)) die("I'm sorry, the file doesn't seem to exist.");

$type = filetype($file);
// Get a date and timestamp

// Send file headers
header("Content-type: $type");
header("Content-Disposition: attachment;filename=data.txt");
header("Content-Transfer-Encoding: binary"); 
header('Pragma: no-cache'); 
header('Expires: 0');
// Send the file contents.
set_time_limit(0); 
readfile($file);
?>

我该怎么办?我找不到解决方案。救救我!

1 个答案:

答案 0 :(得分:0)

fopen无法打开文件时,它返回false并发出警告。 您可以在脚本开头使用error_reporting(E_ALL);来显示警告。

您的问题可能与文件权限有关。确保Web服务器对文件及其目录具有写权限。