формы — php не записывает содержимое в текстовый файл

Я пытаюсь записать контент из формы в текстовый файл и не знаю, почему он не работает. Я загрузил код на бесплатный хост, как 000webhost, и все работает отлично. Поэтому я не уверен, что на моем сервере CentOS есть какая-то неверная конфигурация, а именно CentOS версии 6.5 (Final). Или, если что-то не так с кодом, любая помощь будет высоко ценится.

<?php
header("Location: http://www.example.com");
$handle = fopen("data.txt", "a");
foreach($_POST as $variable => $value)
{
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
?>

0

Решение

Убедитесь, что у вас есть правильные права доступа к папке, в которую вы пытаетесь написать. Это, вероятно, получает пользователь apache (www-data) или эквивалент.

Кроме того, в PHP есть более приятные методы записи в файлы. Попробуйте что-то вроде:

$output = '';
foreach($_POST as $key => $val)
$output .= sprintf("%s = %s\n", $key, $val);

file_put_contents('data.txt', $output);

Это должно быть ясно, пока $_POST не 2D Если это 2D или более для отладки, почему бы не использовать print_r() (как это рекурсивно), например.

file_put_contents('data.txt', print_r($_POST, true));

Второй аргумент заставляет его возвращать строку, а не печатать.

Для ясности, я хотел бы рассмотреть вопрос о header('Location: xxx') позвоните в конце (хотя это не будет иметь функционального значения).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]