| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Lines (fputs)ionic 02.11.05 12:59 PHP script for add, edit or delete lines in file..
<?php function addline ($text, $file) { $handle = fopen($file, "a"); fwrite($handle, "$text\r\n"); fclose($handle); } function editline ($line, $text, $file) { $data = file($file); $data[$line] = "$text\r\n"; $handle = fopen($file, "w"); foreach ($data as $line) { fputs($handle, $line); } fclose($handle); } function deleteline ($line, $file) { $data = file($file); unset($data[$line]); $handle = fopen($file, "w"); foreach($data as $row) { fputs($handle, $row); } fclose($handle); } if ($_POST['action'] == "add" && !empty($_POST['value'])) addline($_POST['value'], "data.dat"); if ($_POST['action'] == "edit") editline($_POST['line'], $_POST['value'], "data.dat"); if (isset($_GET['delete'])) deleteline($_GET['delete'], "data.dat"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Lines (fputs)</title> <style type="text/css"> body { cursor: default; font-family: Verdana, Geneva, Helvetica, sans-serif;; font-size: 11px; color: #000; background: #fff; } h1 { font-size: 18px; } table { border: 1px solid #9e9e9e; font-family: Fixedsys; font-size: 9px; padding: 4px; } a, a:visited { text-decoration: none; color: #9e9e9e; } a:hover { text-decoration: none; color: #000; } </style> </head> <body> <div class="header"> <h1>Lines</h1> <p>PHP script for add, edit or delete lines in file..</p> </div> <div class="controls"> <div class="add"> <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"> <input type="hidden" name="action" value="add" /> <input type="text" name="value" /> <input type="submit" value="Add" /> </form> </div> <div class="edit"> <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"> <input type="hidden" name="action" value="edit" /> <?php if (isset($_GET['edit'])) print " <input type=\"hidden\" name=\"line\" value=\"".$_GET['edit']."\" />\n"; ?> <input type="text" name="value"<?php if (isset($_GET['edit'])) { $data = file("data.dat"); print " value=\"".$data[$_GET['edit']]."\""; } else { print " disabled=\"disabled\""; } ?> /> <input type="submit" value="Edit"<?php if (!isset($_GET['edit'])) print " disabled=\"disabled\""; ?> /> </form> </div> </div> <br /> <div class="content"> <table> <tr> <td width="40">Line</td> <td width="20"></td> <td>Value</td> </tr> <tr> <td colspan="3">------------------------------------------------</td> </tr> <?php $data = file("data.dat"); if ($data != null) { foreach ($data as $line => $value) { ?> <tr> <td align="right"><a href="<?php print $_SERVER['PHP_SELF']; ?>?edit=<?php print $line; ?>"><?php print $line; ?></a></td> <td align="center"><a href="<?php print $_SERVER['PHP_SELF']; ?>?delete=<?php print $line; ?>">x</a></td> <td><?php print $value; ?></td> </tr> <?php } } else { ?> <tr> <td colspan="3" align="center">The file is empty!</td> </tr> <?php } ?> </table> </div> <div class="footer"> <p>Copyright © <?php print date("Y"); ?> TehoPirtti - ionic</p> </div> </body> </html> ionic 13:01 2.11.05 Yleisön pyynnöstä SFAEODLIF ilman file_put_contents funktiota. Jos joku katsoo turhaksi pitää kahta lähes samanlaista koodinpätkää täällä, voin yrittää yhdistää nämä jotenkin fiksusti.. ionic 13:02 2.11.05 Niin, ja edelleen niitä kommentteja..? ZcMander 20:33 2.11.05 Tuo tiedosto ladataan aina, parempi olis että jos lähetetään niin sitten avataan, eikä tuo sisällä tiedoston tarkistuksia. Lisäksi, aina pitäisi sulkea tiedosto. ionic 22:32 2.11.05 TOM kirjoitti: Tuo tiedosto ladataan aina, parempi olis että jos lähetetään niin sitten avataan, eikä tuo sisällä tiedoston tarkistuksia. Lisäksi, aina pitäisi sulkea tiedosto. Huomasithan varmasti scriptin alkuperäisen tarkoituksen? :) JTS 12:38 3.11.05 Funktioi tai parempi, tee luokka joka hoitaa nuo hommat. Tulee monikäyttöisempi ja siistimpi. ionic 12:55 3.2.06 Dodih, koodi päivitetty. Kommentteja? cMaster 13:32 13.2.07 Ihan ok skripti. :D Mukavasti suunniteltu. ++ editoitu: 20:46 18.2.07 T.M. 20:45 18.2.07 if (!function_exists('fputs')) die("'fputs' function is not available on this server!"); Edelleen ihan turhaa lopettaa scriptiä jos ei jotain funktiota löydy. Parempi antaa ne virheilmoitukset käyttäjälle ihan normaalisti. Ja tietääkseni ei ole olemassakaan PHP versiota josta ei tuota fputs funktiota löydy... ionic 12:59 27.2.07 T.M. kirjoitti: if (!function_exists('fputs')) die("'fputs' function is not available on this server!"); Edelleen ihan turhaa lopettaa scriptiä jos ei jotain funktiota löydy. Parempi antaa ne virheilmoitukset käyttäjälle ihan normaalisti. Ja tietääkseni ei ole olemassakaan PHP versiota josta ei tuota fputs funktiota löydy... Hmm, tosiaan. Olet ihan oikeassa. Tässä esimerkissä tuosta ei ole mitään hyötyä.. |
![]() Haku
|