WordPress Installer
Um WordPress auf einem Hosting zu installieren, muss dieses immer zuerst heruntergeladen und entpackt werden. Dies ist Zeitraubend und unnötig.
Um hier Zeit zu sparen, habe ich eine PHP Datei geschrieben, welche nicht nur WordPress, sondern auch direkt nützliche Plugins oder Templates mit installiert.
Welche Sprachen, Templates oder Plugins mit installiert werden können, ist per Array definier bar. Ist dies einmalig erledigt, hat man so sehr schnell einen eigenen Installer nach eigenen Wünschen.
PHP Script hochladen und aufrufen. Warten und WordPRess zu Ende konfigurieren.
Viel Spass mit dem Script:
'; break; } ?>WordPress AutoInstaller All rights reserved. */ set_time_limit(300); error_reporting(E_ALL ^ E_NOTICE); $pfad = pathinfo(realpath(__FILE__), PATHINFO_DIRNAME); if ( ! is_writeable($pfad) ) { exit("Verzeichnis nicht beschreibbar."); } $sprachen = array( array('Deutsch (Schweiz)','ch-de','https://de-ch.wordpress.org/wordpress-latest-de_CH.zip'), array('Deutsch','de','https://de.wordpress.org/wordpress-latest-de_DE.zip'), array('Englisch','en','https://wordpress.org/latest.zip') ); $plugins = array( array('Autoptimize','https://downloads.wordpress.org/plugin/autoptimize.zip'), array('NoSpam NX','http://downloads.wordpress.org/plugin/nospamnx.zip'), array('Yoast SEO','http://downloads.wordpress.org/plugin/wordpress-seo.latest-stable.zip'), array('Ninja Firewall','https://downloads.wordpress.org/plugin/ninjafirewall.zip') ); function recurse_copy($src,$dst) { $dir = opendir($src); while(false !== ( $file = readdir($dir)) ) { if (( $file != '.' ) && ( $file != '..' )) { if ( is_dir($src . '/' . $file) ) { recurse_copy($src . '/' . $file,$dst . '/' . $file); } else { copy($src . '/' . $file,$dst . '/' . $file); } } } closedir($dir); } function delTree($dir) { $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir($dir.DIRECTORY_SEPARATOR .$file)) ? delTree($dir.DIRECTORY_SEPARATOR .$file) : unlink($dir.DIRECTORY_SEPARATOR .$file); } return rmdir($dir); } function dlundunzip($name,$url,$sympfad='') { global $sprachen, $plugins; $datei = basename($url); $pfad = pathinfo(realpath(__FILE__), PATHINFO_DIRNAME).$sympfad; $ziel = $pfad .DIRECTORY_SEPARATOR .$datei; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://de-ch.wordpress.org/".$datei); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 60); $inhalt = curl_exec($ch); if(curl_errno($ch)){ echo 'Fehler: ' . curl_error($ch); } curl_close($ch); $fp = fopen($ziel, "w"); fputs($fp, $inhalt); fclose($fp); $zip = new ZipArchive; $ressource = $zip->open($ziel); if ($ressource === TRUE) { $zip->extractTo($pfad); $zip->close(); if ($name == 'WordPress') { recurse_copy($pfad.DIRECTORY_SEPARATOR ."wordpress", $pfad.DIRECTORY_SEPARATOR); delTree($pfad.DIRECTORY_SEPARATOR ."wordpress"); } echo $name." wurde entpackt.
"; } else { echo $name." konnte nicht entpackt werden.
"; } unlink($ziel); } if ($sprachen[$_POST['wpversion']][1] != '') { $step = 'install'; } switch($step) { case 'install': set_time_limit(300); dlundunzip('WordPress',$sprachen[$_POST['wpversion']][2]); foreach ($plugins as $plu => $gins) { if ($_POST['plugin'.$plu] == '1' AND $plugins[$_POST['plugin'.$plu]][0] != '') { dlundunzip($plugins[$_POST['plugin'.$plu]][0],$plugins[$_POST['plugin'.$plu]][1],'/wp-content/plugins'); } } unlink(__FILE__); echo "Temporäre Dateien und Installer wurde entfernt.
Redirekt zur Installation in 5 Sekunden.
"; break; default: echo '
Oder gerne auch gleich hier als Download: wpunzip.php (bitte aus Zip entpacken vor dem hochladen)



