كيفية جعل php يفتح ملف html، وينتقل إلى سطرين، ثم يكتب هناك ويغلق؟

StackOverflow https://stackoverflow.com/questions/499542

  •  20-08-2019
  •  | 
  •  

سؤال

أقوم بإنشاء ملف php صغير لتسجيل بعض عناوين IP.سيقوم بكتابة ips والتاريخ/الوقت في ملف html.سيكون ملف html عبارة عن جدول.لذلك أريد أن أجعلها مثل هذا:

<table cellpadding="6" rules="groups"  frame="no">
<thead>
<tr><th>IP</th><th>Date</th><th>Time</th></tr>

</thead>
<tbody>
<tr><td>192.168.0.1</td><td>31. January 2009</td><td>19:21:09</td></tr> 
</tbody>
</table>

لذلك أحتاجه لفتح الملف، وكتابة عنوان IP والتاريخ/الوقت على السطر أعلاه </table>لدي بالفعل PHP لكتابة ما أريد، لكنه يكتب في الأسفل.

أنا مبتدئ جدًا، ولا أعرف ماذا أضع أين..

هذا ما لدي:

<?php
$ip = $_SERVER['REMOTE_ADDR']; 
$date = date("j. F Y"); 
$time = date("H:i:s"); 
$file = fopen('./iplogg.html', 'a', 1); 
$text="<tr><td>{$ip}</td><td>{$date}</td><td>{$time}</td></tr> \n"; 
fwrite($file, $text); 
fclose($file); 
?>
هل كانت مفيدة؟

المحلول

سأفترض أنه لا يوجد سوى جدول واحد في الملف.إذا كان هناك أكثر من واحد، فسيتم إضافته إلى كل منهم.

<?php
$ip = $_SERVER['REMOTE_ADDR']; 
$date = date("j. F Y"); 
$time = date("H:i:s"); 
$text="<tr><td>{$ip}</td><td>{$date}</td><td>{$time}</td></tr> \n"; 

$originalfile = file_get_contents ('./iplogg.html');
$newFile = str_replace('</table>',$text.'</table>',$originalfile);
file_put_contents('./iplogg.html', $newFile);
?>    

يحرر خلطت اقتراحي مع الكود الخاص بك

نصائح أخرى

ما أود أن أقترح تستخدم 2 الملفات، ملف .log واحد لتخزين البيانات الخام والسيناريو فب الذي يقرأ من أن ملف .log وإنشاء جدول. الأسباب الرئيسية هي:

1) سيبقى ملف .log بك أصغر بكثير

2) إذا كنت تريد من أي وقت مضى لتغيير تخطيط، من الممكن دائما عن طريق تحرير النصي فب

و3) عندما يصبح ملف .log الخاص ضخم، فإنه قد لا يكون من الممكن تخزين مضمونها في سلسلة مع file_get_contents

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top