그래서 내 코드는 내 오류 메시지가 계속 나타나지만 권한은 있지만 운이 없다는 아이디어가 있습니까? PHP 파일 쓰기 - 매번 오류 메시지
<?php
//create variables
$first_name = (int) $_POST['first_name'];
$last_name = (int) $_POST['last_name'];
$document_root = $_SERVER['/var/www'];
$date = date('H:i, jS F Y');
?>
<DOCTYPE html>
<html>
<head>
<title>We get the message...</title>
</head>
<body>
<h1>We get the message . . .</h1>
<?php
$output_string = $date."\t".$first_name.$last_name." \t".$message."\n";
@$fp = fopen("$document_root-messages.txt", 'w+');
if (!$fp) {
echo "<p>apologies</p>";
exit;
}
flock($fp, LOCK_EX);
fwrite($fp, $output_string, strlen($output_string));
flock($fp, LOCK_UN);
fflush($fp);
fclose($fp);
echo "<p>message written.</p>";
?>
</body>
</html>
난 그냥 정말 간단한 일이 아마 그래서 PHP를 배우기 시작 했어하지만 지금은 약 한 시간 동안 내 머리를 긁적 봤는데 아직 해결책을 마련하지 않았습니다.
/var/www-messages.txt
이 이제 실제 경로 :
@$fp = fopen("$document_root/messages.txt", 'w+');
하고 난 당신이 무엇을 의미하는지 생각
폴더에 대해 필요한 사용 권한을 갖고 있는지 확인하십시오. – PekosoG
'/ var/www-messages.txt'라는 파일에 쓰는 것 같습니다. 나는 당신이'/ var/www/messages.txt'라는 것을 의미한다고 가정하고 있습니까? '$ fp = fopen ("$ document_root/messages.txt", "w +");''@'오류 제거를 제거한 것을 알 수 있습니다. –
이것이 실제로 당신의 의도라면, 웹 서버가'/ var'에 직접 접근 할 수 있도록하는 것은 매우 위험합니다. '/ var/www '안에 글쓰기조차도 매우 위험합니다. 다른 모든 파일들은 명시 적으로 웹 서버 사용자가 쓸 수 없도록 만들 필요가 있습니다. –