Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Version eines Programmes (bit mäßig) anzeigen

Frage Entwicklung PHP

Mitglied: chrizz-at

chrizz-at (Level 1) - Jetzt verbinden

24.11.2008, aktualisiert 25.11.2008, 3688 Aufrufe, 2 Kommentare

Hallo Leute! Habe hier einen Code der mir ein paar Sachen aus einem String prüft!

Jetzt habe ich die Aufgabe bekommen die Version zu überprüfen (nach Bitsystem)

1 - aktuelle Version
2 - 64 bit
4 - alte version (alt)
8 - neue version (rc)

01.
$filename = 'Client-2.0.1.1820-RC-32_Serial.exe' // -> Version (alt, RC, final, beta) muss BIT MÄSSIG ermittelt werden! - Dannach muss es in eine MYSQL datenbank geschrieben werden! 
02.
 
03.
 
04.
// hier mein Script! (welches alles andere macht): 
05.
 
06.
<? 
07.
$dir		= 'C:\\xampp\\htdocs\\test\\'; 
08.
$filename 	= 'Client-2.0.1.1877-RC.exe'; 
09.
 
10.
// Endung wegschneiden ... 
11.
$tempS	= substr($filename, 0, strrpos($filename, '.')); 
12.
$bs 	= strpos($tempS, '-'); 
13.
$us 	= strpos($tempS, '_'); 
14.
 
15.
if ($us !== false) { 
16.
	$serial		= substr($tempS, $us+1, 9999); 
17.
	$tempS		= substr($tempS, 0, $us);		// tempS = Client-2.0.1.1820-RC-64 
18.
19.
if ($bs === false) {		// kein - im FileName 
20.
	$name	= $tempS
21.
22.
else  // kommt auch - vor ->  
23.
	{  
24.
	$name		= substr($tempS, 0, $bs); 
25.
	$tempS		= substr($tempS, $bs+1, 9999);	// Testen sonst mit length .... ist der Rest 
26.
	 
27.
	// hier ist Filename ohne name, ohne exe ohne serial 
28.
	$bs	= strpos($tempS, '-');  // - suchen 
29.
	while ($bs !== false) { 
30.
		$part = substr($tempS, 0, $bs); 
31.
		$tempS	= substr($tempS, $bs+1, 9999); 
32.
		ProcessPart($part); 
33.
		$bs	= strpos($tempS, '-');		// nächsten - suchen 
34.
35.
	ProcessPart($tempS); 
36.
37.
 
38.
function ProcessPart($part) { 
39.
	global $release, $build, $bit
40.
	 
41.
	if (strpos($part, '.') !== false) { 
42.
		$build		= $part; 	// build 
43.
44.
	else if (($part == '32') || ($part == '64')) { 
45.
		$bit		= $part;	// bit 
46.
47.
	else
48.
		$release	= $part; //release 
49.
50.
51.
 
52.
$fullFileName	= $dir.$filename
53.
 
54.
if (file_exists($fullFileName)) { 
55.
	echo 'FullFileName : '.$fullFileName.'<br>'; 
56.
	echo 'md5_file : '.md5_file($fullFileName).'<br>'; 
57.
	echo 'filesize : '.filesize($fullFileName).'<br>'; 
58.
59.
else  
60.
	echo 'File '.$fullFileName.' existiert nicht <br>'; 
61.
	 
62.
 
63.
if ($bit == '') $bit = '32'; 
64.
 
65.
 
66.
echo 'name: <a href="up.php?name='.$name.'">'.$name.'<br></a>'; 
67.
echo 'release: <a href="up.php?release='.$release.'">'.$release.'<br></a>'; 
68.
echo 'build: <a href="up.php?build='.$build.'">'.$build.'<br></a>'; 
69.
echo 'bit: <a href="up.php?build='.$bit.'">'.$bit.'<br></a>'; 
70.
echo 'serial: <a href="up.php?serial='.$serial.'">'.$serial.'<br></a>'; 
71.
$md5 = md5_file($fullFileName); 
72.
$filesize = filesize($fullFileName); 
73.
 
74.
echo 'File: <a href="up.php?name='.$name.'&release='.$release.'&build='.$build.'&bit='.$bit.'&serial='.$serial.'&md5='.$md5.'&filesize='.$filesize.'">'.$filename.'<br></a>'; 
75.
 
76.
?>
Mitglied: dog
25.11.2008 um 02:37 Uhr
Und deine Frage war jetzt?

01.
<?php 
02.
	$filename = 'Client-2.0.1.1820-RC-32_Serial.exe'
03.
	preg_match('/^(.*?)-(\d+)\.(\d+)\.(\d+)\.(\d+)-(RC|final|beta|alt)-(32|64)_(.*?)\./i',$filename, $results); 
04.
	 
05.
	print_r($results); 
06.
 
07.
?>
01.
Array 
02.
03.
    [0] => Client-2.0.1.1820-RC-32_Serial.exe 
04.
    [1] => Client 
05.
    [2] => 2 
06.
    [3] => 0 
07.
    [4] => 1 
08.
    [5] => 1820 
09.
    [6] => RC 
10.
    [7] => 32 
11.
    [8] => Serial 
12.
)
Bitte warten ..
Mitglied: chrizz-at
25.11.2008 um 09:44 Uhr
ok ich machs jetzt anders!

ich habe hier einen Code, wo ich variablen mit get übergeben habe..

wie kann ich eine MYSQL Datenbank nach $name, $build, $release usw. durchsuchen, um herauszufinden ob es diese Datei in der Liste schon gibt?


01.
$name = $_GET['name']; 
02.
$build = $_GET['build']; 
03.
$release = $_GET['release']; 
04.
$bit = $_GET['bit']; 
05.
$serial = $_GET['serial']; 
06.
$md5 = $_GET['md5']; 
07.
$filesize = $_GET['filesize']; 
08.
 
09.
 
10.
// Verbindung zur DB 
11.
$link = mysql_connect("localhost", "root", "") or die("Keine Verbindung möglich: " . mysql_error()); 
12.
mysql_select_db("ulysses") or die("Auswahl der Datenbank fehlgeschlagen"); 
13.
 
14.
 
15.
// Dateiliste auswählen 
16.
$filelist = mysql_query('SELECT * FROM files'
17.
while ($files = mysql_fetch_array($filelist)) 
18.
 
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Windows 10
Windows 10: Version 1607 jetzt im Current Branch for Business

Link von Penny.Cilin zum Thema Windows 10 ...

Windows Server
gelöst Powershell: Alle User anzeigen, die Zugriff auf einen Share haben (3)

Frage von bensonhedges zum Thema Windows Server ...

Outlook & Mail
gelöst Outlook 2013 - Teilnehmer in Termin anzeigen (4)

Frage von xbast1x zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...