Tôi đang chạy PHP 5.5.9 trên Ubuntu 14.04. Tôi gặp sự cố khi ghi vào một tệp. Tôi cảm thấy như thế này đã được một vấn đề quyền truy cập tập tin bởi vì tôi khá chắc chắn mã là chính xác. Người dùng mà tôi đã đăng nhập như có quyền ghi vào các thư mục mà tôi đang cố gắng viết vào, nhưng tôi không chắc liệu localhost có thực hiện hay không. Tôi không chắc chắn tên của người dùng localhost là gì để sử dụng chmod
. Tôi đã thử sử dụng chmod 777 -R /var/www/html
và tập lệnh vẫn không thể ghi vào thư mục đích của mình, có đường dẫn /var/www/html/Projects/MD_ScrapingTool/files
. Đây là mã của tôi:Gặp sự cố khi ghi vào một tệp bằng PHP trên Ubuntu
$file = 'filetest.txt';
if($handle = fopen($file, 'w')) {
$content = "123\n456";
fwrite($handle, $content);
fclose($handle);
} else {
echo "Could not open file for writing.";
}
Với 'error_reporting (E_ALL)' ở đầu tệp PHP của bạn, lỗi nào đang được xuất? – ljacqu
Điều gì sẽ xảy ra khi bạn chạy mã này? Bạn có thấy câu trả lời của bạn không? Nếu vậy, điều đó có nghĩa là bạn không thể mở một tập tin xử lý, đó là một dấu hiệu có thể thấy rằng đường dẫn bạn đang chỉ định cho tập tin là không chính xác. Bạn có thể thử sử dụng đường dẫn tuyệt đối cho tệp. Bạn có thể sử dụng is_file và is_writable để giúp bạn gỡ lỗi. Ngoài ra, bạn có thể xem xét việc sử dụng file_put_contents thay vì làm việc với fopen, fwrite và fclose. – oliakaoil
Nếu bạn tự khắc phục sự cố, bạn nên đăng câu hỏi đó làm câu trả lời. Vui lòng không chỉnh sửa * câu hỏi * để thêm câu trả lời. – Flexo