2016-07-20 9 views
1

Ich versuche, Maschinenaktualisierungen online unter Verwendung von PHP anzukündigen. Ich hoffe, es so zu machen, wenn sie zu domain.com/appupdates gehen oder was auch immer sie Updates herunterladen können, abhängig davon, ob sie ein existierendes Update haben oder nicht. Beispiel, der Rechner lädt den Link und gibt seinem Rechner den Wert update, wenn er 2 Updates hat, wird es gehen: index.php? Machineupdate = 2 Dann wird der Code ok, ich werde Update 3 versenden, da es Update 2 hat und wenn ich 5 Updates insgesamt habe und die Maschine nur 2 hat, wird es weiterlaufen, bis ich alle Updates habe, dann gebe einen Befehl, der sagt, dass alle Aktualisierungen erfolgreich sind. Unten ist mein Code.entpacken von Dateien abhängig von while-Schleife

Der Abschnitt in erster Linie zu sehen benötigt wird, ist die "//Update code below"

hoffen, ihr mir helfen können.

PHP:

<?PHP 
$zipped = new ZipArchive; 
$filename = '1.zip'; 
$machineupdate = $_GET['machineupdate']; 

$zipfile = "updates/$filename"; 

$result = $zipped->open($zipfile); 


if(isset($_GET['key'])) 
{ 
    if(!empty($_GET['key'])) 
    { 
     if(isset($_GET['machineupdate'])) 
{ 
     if(!empty($_GET['machineupdate'])) 
    { 
     $key = $_GET['key']; 
     if($key == "hello" or $key =="apple") 
     { 
     if ($result === TRUE) { 
      $dirname = uniqid(); 

      $zipped->extractTo("temp/$dirname"); 

      $zipped->close(); 
      echo 'Successful!'; 
      $success = TRUE; 

          } else { 

         echo 'error'; 

        $success == FALSE; 
            } 

     if ($success == TRUE) { 
     echo nl2br ("\n Folder created and files extracted. Now for the update! \n"); 

    //Update code below 


    //Add while loop below 
    $a = 0; 
    $count = 0; 
    while ($a < $machineupdate) { 
     $a = $a + 1; 
     $count ++; 
     echo "$a "; 
    } 
    echo "<p>Loop count = {$count}</p>"; 
    //end loop 



    //Deletes file and folder once updated -> 

     array_map('unlink', glob("temp/$dirname/*.*")); 

     rmdir("temp/$dirname"); 

          } 
     } 
     else 
     { 
      die("Invalid Key Specified. - You entered an unknown key, please match with one in our database."); 
     } 
    } 
    else 
    { 
     die("No update specified. - Please enter your current update to continue"); 
    } 
} 
else 
{ 
     die("No update specified. - Please enter your current update to continue"); 
    } 
    } 
else 
    { 
     die("No update specified. - Please enter your current update to continue"); 
    } 
} 
else 
{ 
    die("No key specified. - Please enter your key to continue"); 
} 

?> 
+2

und was ist das Problem? Es ist ein wenig unklar, was passiert - oder nicht passiert – RamRaider

Antwort

3

wie über dieses:

$updateVersion=5; 

function UpdateManchine($currentVersion, $updateVersion){ 

    if($currentVersion >= $updateVersion){ 
    echo="You are up to date"; 
    } 
    else{ 

    //... Do your update here 
    Return TRUE 
    } 


} 

die Maschine die Funktion mit der aktuellen Update-Version aufrufen müssen.

Verwandte Themen