ZeitenWandel
Hallo.
Ich will mein Script überprüfen lassen, ob die Version die der Nutzer hat, die neuste Version ist, die ich zum Download zur Verfügung stelle.
Wie kann ich das machen?
Ich kann ja keine Dateien von anderen Servern includen. Da hatte ich nur die Idee mit file_exists().
| php: |
1:
2:
3:
4:
5:
6:
|
$used_version = '1.0.1' // Die Version die der Nutzer betreibt
if (file_exists("http://timechange.de/irgend/ein/ordner/".$used_version.".txt")) { //Überprüfen, ob eine txt-datei auf meinem Server liegt, der genauso heißt, wie die Version
echo "Die neuste Version ist in Benutzung";
} else {
echo "Es gibt bereits ein Update. Bitte lad es herunter!";
} |
|
Nur damit sieht der User nur, ob es eine neue gibt. Nicht welche!
Was hab ich da sonst noch für Möglichkeiten?
Taz
Hallo,
naja ist ja im Prinziep ganz einfach
Erstell zb. einen Datei mit den Namen "MeinScript.txt" und schreib dort deine neuset Version rein, zb.:
Und im Script überprüfst du das volgender maßen:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
$VersionUse = '1.0.1'; // Die Version die der Nutzer betreibt
if($VersionNew = file_get_contents('http://timechange.de/irgend/ein/ordner/MeinScript.txt')) {
if(version_compare($VersionNew, $VersionUse, '>')) {
echo 'Es gibt bereits ein Update. Bitte lad es herunter!';
}
else {
echo 'Die neuste Version ist in Benutzung';
}
} |
|
Das wars schon
ZeitenWandel
Kann ich dann auch mit $VersionNew die neue Version anzeigen lassen? Also welche das ist?
Blacksoul
| Zitat: |
Original von ZeitenWandel
Kann ich dann auch mit $VersionNew die neue Version anzeigen lassen? Also welche das ist? |
Auch wenn ich jetzt die antwort weiß. Ausprobieren geht über studieren :P
ZeitenWandel
loL Klappt ja ^^
Wie geil
Danke sehr :P
nobody08
hmm sry fürs reinfunken ^^ aber file_get_contents gibts erst ab PHP 5, würde ich also noch eher vermeiden ^^ entweder mit file() oder dann altmodisch alles einzeln machen, was file_get_contents auf einmal macht: fopen, fread fclose...
Taz
| Zitat: |
Original von nobody08
hmm sry fürs reinfunken ^^ aber file_get_contents gibts erst ab PHP 5, würde ich also noch eher vermeiden ^^ entweder mit file() oder dann altmodisch alles einzeln machen, was file_get_contents auf einmal macht: fopen, fread fclose... |
Ich will da auch nicht reinfunken,
ABER file_get_contents() gibt es ab PHP Version 4.3.0
nobody08
hmm das hatte ich anders in erinnerung
Aber lustig ist ja, dass sie PHP 5 und 4 weiterentwickeln.. darum ist 4.3.0 gar nicht soo viel älter als PHP 5 *verzweifelt nach einem argument such*
ZeitenWandel
Lustige Unterhaltung
Elrond
Da geb ich dir Recht ZeitenWandel,
Die lenkt mich sogar von dem
äusserst spannenden Indy-Car Rennen ab, das Live im Hintergrund läuft
Blacksoul
| Zitat: |
Original von Elrond
Da geb ich dir Recht ZeitenWandel,
Die lenkt mich sogar von dem äusserst spannenden Indy-Car Rennen ab, das Live im Hintergrund läuft
|
wo wie wann was?
Andi
also auf php.net steht das der ab php 4.3.0 geht
snake.logan
Hallo. Mit der Idee das war klasse. Ich habe mir mal den Code genommen und es probiert, weil ich es klasse fand. Aber es kam eine Fehlermeldung. In die Datei MeinScript.txt habe ich einfach 1.5 geschrieben.
Das ist der Code:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
<?php
$VersionUse = '1.0' // Die Version die der Nutzer betreibt
if($VersionNew = file_get_contents('http://boxershorts.bo.funpic.de/MeinScript.txt')) {
if(version_compare($VersionNew, $VersionUse, '>')) {
echo 'Es gibt bereits ein Update. Bitte lad es herunter!';
}
else {
echo 'Die neuste Version ist in Benutzung';
}
}
?> |
|
Aber des kam diese Fehlermeldung:
Parse error: syntax error, unexpected T_IF in /usr/export/www/vhosts/funnetwork/hosting/boxershorts/update.php on line 4
Taz
Es fehlte ein Semikolon, in der ersten zeile, so ist es richtig:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
$VersionUse = '1.0'; // Die Version die der Nutzer betreibt
if($VersionNew = file_get_contents('http://boxershorts.bo.funpic.de/MeinScript.txt')) {
if(version_compare($VersionNew, $VersionUse, '>')) {
echo 'Es gibt bereits ein Update. Bitte lad es herunter!';
}
else {
echo 'Die neuste Version ist in Benutzung';
}
} |
|
snake.logan
ok das ging aber ich glaube das die Fehlermeldung unten dafür steht das das entweder ne deaktivierte funktion ist oder ne höhere PHP VErsion? Die Fehlermeldung kommt jetzt:
Warning: file_get_contents(): URL file-access is disabled in the server configuration in /usr/export/www/vhosts/funnetwork/hosting/boxershorts/update.php on line 4
Warning: file_get_contents(
http://boxershorts.bo.funpic.de/MeinScript.txt): failed to open stream: no suitable wrapper could be found in /usr/export/www/vhosts/funnetwork/hosting/boxershorts/update.php on line 4
Blacksoul
bei der IF fehlt ein ! vor dem =
MfG
Taz
Ja, das ist richtig, dein Provider hat das öffnen von URL´s deaktiviert!
Da gibt es für dich keine anderen Möglichkeiten, als zu einen Kostenpflichtigen Anbieter zu wechseln, wenn du solche Funktionen bzw. Features nutzen möchtest.
snake.logan
ok! Danke Taz und allen anderen. Anbieter wechsel ich Sonntag den 11.06.2006.
@Blacksoul
meinst du so?
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
<?php
$VersionUse = '1.0'; // Die Version die der Nutzer betreibt
if($VersionNew != file_get_contents('http://boxershorts.bo.funpic.de/MeinScript.txt')) {
if(version_compare($VersionNew, $VersionUse, '>')) {
echo 'Es gibt bereits ein Update. Bitte lad es herunter!';
}
else {
echo 'Die neuste Version ist in Benutzung';
}
}
?> |
|
ok Taz!
Ich habe es auf dem Anbieter
www.redio.de gemacht der kostenlos ist aber PHP5 hat. Dort ist fast alles erlaubt. Wie du unter dem Link unten siehst klappt es:
http://logan.redio.de/update.php
Vielen Dank,
@all
Wäre es auch möglich ein Link in die Datei einzufügen? Der genaue Link der zum Download führt?
Blacksoul
Es wäre alles möglich, aber viel komplzierter...
das mit dem ! vor dem = war wrong...hatte mich verguckt^^
MfG