Runonce: Unterschied zwischen den Versionen
Aus Contao Community Documentation
K |
|||
Zeile 12: | Zeile 12: | ||
===Löschen einer Datei=== | ===Löschen einer Datei=== | ||
− | === | + | <?php @error_reporting(0); @ini_set("display_errors", 0); |
+ | try { | ||
+ | $file = TL_ROOT . '/system/modules/demo/delete_me.gif'; | ||
+ | $objFiles = Files::getInstance(); | ||
+ | $objFiles->delete(substr($file, strlen(TL_ROOT))); | ||
+ | } catch (Exception $e) { $errors[] = $e->getMessage(); } | ||
+ | ?> | ||
+ | |||
+ | ===Datenbank Insert / Update=== | ||
+ | <?php @error_reporting(0); @ini_set("display_errors", 0); | ||
+ | $objDatabase = Database::getInstance(); | ||
+ | // | ||
+ | // Update database | ||
+ | try { $objDatabase->execute("UPDATE `tl_demo_table` SET `demo_counter`=0 WHERE `demo_browser`='Unknown'"); | ||
+ | } catch (Exception $e) { $errors[] = $e->getMessage(); } | ||
+ | // | ||
+ | // Insert database | ||
+ | try { $objDatabase->execute("INSERT INTO `tl_demo_table` (`id`, `demo_counter`) VALUES (0, '10')"); | ||
+ | } catch (Exception $e) { $errors[] = $e->getMessage(); } | ||
+ | ?> |
Version vom 7. Juni 2010, 20:58 Uhr
betrifft | |
---|---|
TYPOlight Version | ab 2.7 |
Contao Version | ab 2.9 |
Liveupdate nutzt diese, die Extensions nutzen diese auch: die Datei TL_ROOT/system/runonce.php
Diese Datei tut genau das, was der Name schon vermuten läßt. Sie wird nur einmal ausgeführt und anschließend gelöscht. Bei jedem Seitenaufruf wird dazu geprüft, ob diese vorhanden ist und ggf. ausgeführt.
Anwendungsbeispiele
Löschen einer Datei
<?php @error_reporting(0); @ini_set("display_errors", 0); try { $file = TL_ROOT . '/system/modules/demo/delete_me.gif'; $objFiles = Files::getInstance(); $objFiles->delete(substr($file, strlen(TL_ROOT))); } catch (Exception $e) { $errors[] = $e->getMessage(); } ?>
Datenbank Insert / Update
<?php @error_reporting(0); @ini_set("display_errors", 0); $objDatabase = Database::getInstance(); // // Update database try { $objDatabase->execute("UPDATE `tl_demo_table` SET `demo_counter`=0 WHERE `demo_browser`='Unknown'"); } catch (Exception $e) { $errors[] = $e->getMessage(); } // // Insert database try { $objDatabase->execute("INSERT INTO `tl_demo_table` (`id`, `demo_counter`) VALUES (0, '10')"); } catch (Exception $e) { $errors[] = $e->getMessage(); } ?>