Automatisierung von Routineaufgaben mit PHP: 5 leistungsstarke Skripte, die Stunden Arbeit sparen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Ihr persönlicher Assistent in PHP: Warum Automatisierung eine Superkraft ist



Stellen Sie sich einen Montagmorgen vor. Sie kommen ins Büro, öffnen Ihren Laptop, und die gesamte Routine ist bereits erledigt: Backups wurden auf den Server hochgeladen, Erinnerungen an Kunden versendet, und die gestrigen CSV-Berichte wurden verarbeitet und schön in PDF verpackt. Klingt wie Science-Fiction? Aber nein.



Die meisten PHP-Entwickler (und nicht nur sie) verbringen bis zu 30% ihrer Arbeitszeit mit gleichartigen, sich wiederholenden Aufgaben. Automatisierung mit PHP ist keine Magie, sondern der geschickte Einsatz integrierter Funktionen und einiger Bibliotheken. Heute zeige ich Ihnen 5 echte Skripte, die Sie bereits 10 Minuten nach dem Lesen dieses Artikels ausführen können.



Übrigens, wenn Sie an Automatisierung mit Python interessiert sind – auf PythonLib haben wir hervorragende Materialien. Aber heute sprechen wir über PHP, weil es auf der Serverseite immer noch dominiert (bis zu 77% der Websites laufen damit).



1. Automatische Bereinigung und Archivierung alter Logs



Logs wachsen wie ein Schneeball. Gestern wog error.log noch 50 MB, heute sind es schon 500. Manuelles Bereinigen ist eine Qual. Lassen Sie uns ein PHP-Skript zur Automatisierung dieser Aufgabe schreiben.



Skript: LogRotator



<?phpclass LogRotator {    private string $logDir;    private string $archiveDir;    private int $maxFileAgeDays;

public function __construct(string $logDir, string $archiveDir, int $maxFileAgeDays = 30) { $this->logDir = rtrim($logDir, '/'); $this->archiveDir = rtrim($archiveDir, '/'); $this->maxFileAgeDays = $maxFileAgeDays; }

public function rotate(): void { if (!is_dir($this->archiveDir)) { mkdir($this->archiveDir, 0755, true); }

$files = glob($this->logDir . '/*.log'); foreach ($files as $file) { $fileAge = time() - filemtime($file); if ($fileAge > $this->maxFileAgeDays * 86400) { $archiveName = $this->archiveDir . '/' . basename($file) . '.' . date('Ymd') . '.gz'; $gzData = gzencode(file_get_contents($file), 9); file_put_contents($archiveName, $gzData); unlink($file); echo "Archiviert: " . basename($file) . PHP_EOL; } } }}

// Verwendung:$rotator = new LogRotator('/var/log/myapp', '/backup/logs/archive');$rotator->rotate();?>


Dieses PHP-Automatisierungsskript erledigt drei Dinge: Es findet Dateien, die älter als 30 Tage sind, komprimiert sie im GZIP-Format und verschiebt sie ins Archiv. Führen Sie es einmal pro Woche per CRON aus – und vergessen Sie die Meldung „Festplatte voll“.



2. Massenversand personalisierter E-Mail-Benachrichtigungen



Angenommen, Sie betreiben einen Online-Shop. Ein Kunde hat eine Bestellung aufgegeben, und Sie müssen ihm eine E-Mail mit den Details senden. Das manuell zu tun, ist unsinnig. Aufgabenautomatisierung mit PHP unter Verwendung der integrierten Funktion mail() oder PHPMailer löst das Problem.



Beispiel: Versand von Erinnerungen an verlassene Warenkörbe



<?phpfunction sendAbandonedCartReminder(string $email, string $customerName, array $items): bool {    $subject = "Sie haben Ihren Warenkorb vergessen, $customerName! 🛒";        $message = "<h2>Hallo, $customerName!</h2>";    $message .= "<p>Sie haben diese Artikel zurückgelassen:</p><ul>";        foreach ($items as $item) {        $message .= "<li>{$item['name']} - {$item['price']} Rubel</li>";    }        $message .= "</ul><p><a href='https://yourshop.com/cart'>Zum Warenkorb zurückkehren</a></p>";        $headers = "MIME-Version: 1.0\\r";    $headers .= "Content-Type: text/html; charset=UTF-8\\r";    $headers .= "From: shop@yourshop.com\\r";        return mail($email, $subject, $message, $headers);}

// Massenversand:$customers = [ ['email' => 'ivan@example.com', 'name' => 'I

Blogs

Buchempfehlungen