ini σε php

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 14 Μαρ 2010 16:17

Έχω μια ιστοσελίδα και ένα forum για ένα online game.
Έχω και ένα πρόγραμμα το οποίο συνδέεται με τους servers και μπορώ να δω πόσοι παίκτες είναι συνδεδεμένοι όποια στιγμή θέλω.
Παράδειγμα είναι μια άλλη ιστοσελίδα όπου το έχουν ήδη αλλά για άλλη έκδοση του παιχνιδιού, http://www.rev6.com/servercapacity/

Τι περιέχει το πρόγραμμα:
1. Ένα bat αρχείο
2. Ένα config.txt όπου έχει όλα τα version από servers
3. Ένα άλλο txt που περιέχει τα ονόματα των servers
4. Ένα exe αρχείο που είναι το πρόγραμμα
5. Και ένα ακόμα txt που εκεί γράφει το πρόγραμμα τους unknown servers.
6. ini αρχείο όπου γράφει το πρόγραμμα τα αποτελέσματα.

Τρέχω το bat αρχείο και συνδέεται στους servers και μου δίνει live τα δεδομένα, παράλληλα αυτά τα δεδομένα γράφονται και στο ini αρχείο.
Στο ini αρχείο αυτό γράφονται στην παρακάτω μορφή:
14
22
Golden Age [East]
2385
2500

Επεξηγηση:
Version servers: 14
Server ID: 22
Server Name: Golden Age [East]
Πόσοι είναι Online: 2385
Πόσοι χωράνε: 2500

Όπως βλέπετε και στην ιστοσελίδα παραπάνω, θέλω αυτά τα δεδομένα να τα βάλω σε μια σειρά σε php η σε html.
Γνωρίζω οτι αυτοί εκεί έχουν dedicated server και τρέχουν το πρόγραμμα κατευθείαν online, αλλά επίσης γνωρίζω ότι μπορώ να το τρέχω από ένα PC στον χώρο μου και να στέλνω τα δεδομένα στην ιστοσελίδα μου, υπόψιν ότι τα δεδομένα είναι live, δηλαδή κάνει refresh καθε λίγο (το ορίζω εγώ κάθε πόσα sec).
Δεν με ενδιαφέρει να μεταφέρω τα Version server και τα Server ID, θέλω τα ονόματα των servers, πόσοι είναι Online και πόσα άτομα παίρνει, θα μου πείτε ότι το πόσα άτομα παίρνει δεν αλλάζει, και όμως πολλές φορές το αλλάζουν ανάλογα με τους παίκτες και αν υπάρχει συνεχές γέμισμα σε κάποιον server.

Προσπάθησα να μάθω από αυτούς πως γίνεται αλλά όλοι είναι μυστικοπαθείς, κανείς δεν δίνει καμία πληροφορία.

Σας Ευχαριστώ εκ των προτέρων.

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

ini σε php

Δημοσίευση από pagman » 15 Μαρ 2010 11:10

Μπορείς να χρησιμοποιήσεις την εντολή fopen της php για ν' ανοίξεις το αρχείο (αν πχ ονομάζεται "file.ini"), ν' αποθηκεύσεις σε μια μεταβλητή τ' αποτελέσματα και να προβάλεις τις πληροφορίες κάπως έτσι:


$myFile = "file.ini";
$fh = fopen($myFile, 'r');
$theData = fgets($fh);
fclose($fh);
echo $theData;
Εικόνα

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 15 Μαρ 2010 12:07

Σε ευχαριστώ για την απάντηση σου αλλά μήπως μπορείς να το κάνεις λίγο ποιο λιανά γιατί δεν ξέρω και πολλά πραμματα από αυτά?

το ini έχει την παρακάτω μορφή, πως θα πάρω line by line τα δεδομένα?

14
22
Golden Age [East]
2385
2500

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

ini σε php

Δημοσίευση από pagman » 16 Μαρ 2010 11:38

Αυτό είναι πολύ πιο εύκολο και καταναοητό:

<?php
$f_contents = file ("file.ini");
$line = $f_contents[0];
print $line;
?>


απλά αλλάζεις το νούμερο, ανάλογα με τη γραμμή στο array της $f_contents αρχίζοντας από το 0 για την πρώτη γραμμή, το 1 για τη δεύτερη κλπ. Το αποτέλεσμα καταχωρείται στη μεταβλητή $line. Αν θες μπορείς να ορίσεις και άλλες μεταβλητές πχ:

πχ
$line=$f_contents[0]; //τα περιεχόμενα της 1ης γραμμής
$line2=$f_contents[1]; //τα περιεχόμενα της 2ης γραμμής
$line3=$f_contents[2]; //τα περιεχόμενα της 3ης γραμμής

κλπ

Ελπίζω να είναι αυτό που θες
Εικόνα

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

ini σε php

Δημοσίευση από ThyClub » 16 Μαρ 2010 12:32


geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 19 Μαρ 2010 10:34

Σας ευχαριστω πολυ για τις απαντησεις σας.
Εκανα οτι μου εγραψε ο pagman και βλεπω οτι λειτουργει η μεταφορα απο το ini στο Php.

http://www.c-sro.eu/stat.php

1. Πως μπορω να κανω tablet ωστε να ειναι το ενα κατω απο το αλλο? (Ονομα, stat, max players)
2. Τα data στο ini ειναι live, δηλαδη αλλαζουν καθε λιγο, πως μπορω να κανω το webpage αυτο να κανει refresh?
3. Σκεφτομαι να κανω το webpage αυτο σε iframe ωστε να κανει refresh μονο το iframe.

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

ini σε php

Δημοσίευση από vcore » 25 Μαρ 2010 21:08

1)

Βάλε σε μεταβλητές τα δεδομένα σου:

Κώδικας: Επιλογή όλων

$line=$f_contents&#91;0&#93;; //τα περιεχόμενα της 1ης γραμμής
$line2=$f_contents&#91;1&#93;; //τα περιεχόμενα της 2ης γραμμής
$line3=$f_contents&#91;2&#93;; //τα περιεχόμενα της 3ης γραμμής
'Ενα table:

Κώδικας: Επιλογή όλων

<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Στατιστικά&#58;</td>
  </tr>
  <tr>
    <td><? echo $line; ?></td>
  </tr>
  <tr>
    <td><? echo $line1; ?></td>
  </tr>
  <tr>
    <td><? echo $line2; ?></td>
  </tr>
  <tr>
    <td><? echo $line3; ?></td>
  </tr>
</table>
Τώρα για auto refresh δεν έχει χρειαστεί ποτέ να κάνω κάτι τέτοιο αλλά με μια γρήγορη ματιά θα μπορούσε να υλοποιηθεί με jquery βάζοντας το table μέσα σε ένα div.

http://www.google.gr/#hl=el&source=hp&q ... b5ba65dc09
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 07 Απρ 2010 02:47

Σας ευχαριστώ πάρα πολύ, με βοηθήσατε και βρήκα τελικά τον τρόπο και το έκανα.
Ένα τελευταίο σε αυτήν την εργασία είναι ότι στο ini έχει μια τιμή που αλλάζει μόνο εάν ο server είναι κλειστός η σε service, όταν είναι ανοιχτός κανονικά έχει την τιμή "1" και όταν είναι κλειστός έχει την τιμή "0", εγώ πως μπορώ να αντικαταστήσω στην σελίδα το "1" με την λέξη "Open" και το "0" με την λέξη "Check" ?

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

ini σε php

Δημοσίευση από pagman » 07 Απρ 2010 11:48

έστω ότι η τιμή είναι καταχωρημένη στη μεταβλητή $line1, τότε:

if ( $line1 == 1 ) {
$line1 = "open";
} else {
$line1 = "check";
}


echo $line1;



η ρουτίνα απλά αλλάζει το περιεχόμενο της μεταβλητής με "open" αν αυτή είναι ίση με 1 και με "check" αν η τιμή είναι 0 ή κάτι άλλο.
Εικόνα

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 07 Απρ 2010 12:33

Ο παρακάτω είναι ο κώδικας που έβαλα στο συγκεκριμένο php, που πρέπει να βάλω τους κώδικες αυτούς?

Οι κώδικες που πρέπει να έχουν τα "Open" και τα "Check" είναι οι τελευταίοι σε κάθε σειρά της tablet.
$line5; $line10; $line15; κλπ

Κώδικας: Επιλογή όλων

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval&#40;
function &#40;&#41;
&#123;
$&#40;'#load_tweets'&#41;.load&#40;'stat.php'&#41;.fadeIn&#40;"slow"&#41;;
&#125;, 10000&#41;; // refresh every 10000 milliseconds


</script>
<?php
$f_contents = file &#40;"CSRO_1.ini"&#41;;
?>

<? $line1=$f_contents&#91;1&#93;;
$line2=$f_contents&#91;2&#93;; 
$line3=$f_contents&#91;3&#93;; 
$line4=$f_contents&#91;4&#93;; 
$line5=$f_contents&#91;5&#93;;
$line6=$f_contents&#91;6&#93;;
$line7=$f_contents&#91;7&#93;; 
$line8=$f_contents&#91;8&#93;; 
$line9=$f_contents&#91;9&#93;; 
$line10=$f_contents&#91;10&#93;;
$line11=$f_contents&#91;11&#93;;
$line12=$f_contents&#91;12&#93;; 
$line13=$f_contents&#91;13&#93;; 
$line14=$f_contents&#91;14&#93;; 
$line15=$f_contents&#91;15&#93;;
$line16=$f_contents&#91;16&#93;;
$line17=$f_contents&#91;17&#93;; 
$line18=$f_contents&#91;18&#93;; 
$line19=$f_contents&#91;19&#93;; 
$line20=$f_contents&#91;20&#93;;
$line21=$f_contents&#91;21&#93;;
$line22=$f_contents&#91;22&#93;; 
$line23=$f_contents&#91;23&#93;; 
$line24=$f_contents&#91;24&#93;; 
$line25=$f_contents&#91;25&#93;;
$line26=$f_contents&#91;26&#93;;
$line27=$f_contents&#91;27&#93;; 
$line28=$f_contents&#91;28&#93;; 
$line29=$f_contents&#91;29&#93;; 
$line30=$f_contents&#91;30&#93;;
$line31=$f_contents&#91;31&#93;;
$line32=$f_contents&#91;32&#93;; 
$line33=$f_contents&#91;33&#93;; 
$line34=$f_contents&#91;34&#93;; 
$line35=$f_contents&#91;35&#93;;
$line36=$f_contents&#91;36&#93;;
$line37=$f_contents&#91;37&#93;; 
$line38=$f_contents&#91;38&#93;; 
$line39=$f_contents&#91;39&#93;; 
$line40=$f_contents&#91;40&#93;;
$line41=$f_contents&#91;41&#93;;
$line42=$f_contents&#91;42&#93;;
$line43=$f_contents&#91;43&#93;; 
$line44=$f_contents&#91;44&#93;; 
$line45=$f_contents&#91;45&#93;; 
$line46=$f_contents&#91;46&#93;;
?>
<style type="text/css">
<!--
.style3 &#123;color&#58; #FFFFFF; font-weight&#58; bold; &#125;
.style5 &#123;color&#58; #FFFFFF; font-weight&#58; bold; font-size&#58; 18px; &#125;
-->
</style>
<body>
<div id="load_tweets"><table width="330" border="3" cellspacing="0" cellpadding="0">
  <tr>
    <td width="20" bgcolor="#666666"><div align="center" class="style5">ID</div></td>
    <td width="95" bgcolor="#666666"><div align="center" class="style5">Server</div></td>
    <td width="75" bgcolor="#666666"><div align="center" class="style5">Capacity</div></td>
    <td width="75" bgcolor="#666666"><div align="center" class="style5">Max Capacity </div></td>
	<td width="65" bgcolor="#666666"><div align="center" class="style5">Status</div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line1; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line2; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line3; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line4; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line5; ?></div></td>
  </tr>
  <tr>
   <td bgcolor="#990000"><div align="center" class="style3"><? echo $line6; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line7; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line8; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line9; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line10; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line11; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line12; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line13; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line14; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line15; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line16; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line17; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line18; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line19; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line20; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line21; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line22; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line23; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line24; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line25; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line26; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line27; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line28; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line29; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line30; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line31; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line32; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line33; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line34; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line35; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line36; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line37; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line38; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line39; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line40; ?></div></td>
  </tr>
  <tr>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line41; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line42; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line43; ?></div></td>
    <td bgcolor="#990000"><div align="center" class="style3"><? echo $line44; ?></div></td>
	<td bgcolor="#990000"><div align="center" class="style3"><? echo $line45; ?></div></td>
  </tr>
</table>
</div>
</body>

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 08 Απρ 2010 02:14

Παιδιά το έκανα τελικά και λειτουργεί και με το τελευταίο πρόβλημα.

Να πω ένα τελευταίο η θα με βρίσετε?

Θέλω αυτά τα δεδομένα να τα στέλνω από έναν local PC στον web server, το θέμα είναι πως??
Σκέφτηκα 2 εκδοχές, ίσως υπάρχουν και περισσότερες.
1. Να κάνω με κάποιον τρόπο το πρόγραμμα να στέλνει τα δεδομένα στο ini στον webserver, το θέμα είναι ότι δεν ξέρω πως να το κάνω αυτό.
2. Να κάνω το php να παίρνει τα δεδομένα από το ini στον local PC, ούτε αυτό δεν ξέρω πως να το κάνω.

Μάλλον ζητάω πολλά εεε??

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

ini σε php

Δημοσίευση από pagman » 08 Απρ 2010 12:00

χαίρομαι που το βρήκες μόνος σου, δεν ήταν δύσκολο άλλωστε ;)


Όσον αφορά τη νέα ερώτηση, δες το παρακάτω link. Σου λέει πως να προσθέσεις κάποιες εντολές στο .bat που τρέχεις και ν' ανεβάζει ένα αρχείο σε έναν server ftp. Προσθέτεις τον κώδικα στο τέλος του .bat αρχείου σου κάνοντας τις απαιτούμενες αλλαγές σε usernames, passwords, όνομα αρχείου κλπ.


http://www.howtogeek.com/howto/windows/ ... mand-line/
Εικόνα

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 09 Απρ 2010 14:06

Τα bat αρχεία που έχω το μόνο που έχουν μέσα είναι:

Κώδικας: Επιλογή όλων

SroServerStats.exe 1000 "G&#58;\cSilkroad" 1
Όλα τα υπόλοιπα τα κάνει το exe αρχείο που έχω, δεν νομίζω να μπορεί να κάνει κάτι με τις εντολές ώστε να στέλνουν στον webserver, εκτός αν υπάρχει τρόπος με ένα bat αρχείο να μπορώ να στέλνω το ini στον webserver κάθε 10 sec αλλά να κάνει overwrite χωρίς ερώτηση.

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

ini σε php

Δημοσίευση από pagman » 09 Απρ 2010 14:52

η εντολή αυτή του .bat αρχείου είναι που δημιουργεί τα log αρχεία. Η σελίδα που σου έγραψα σου εξηγεί πως να ανεβάζεις τα log αυτά αρχεία από το σκληρό σου σε έναν σέρβερ. Αν προσθέσεις το κώδικα κάτω από τη γραμμή που υπάρχει ήδη, λογικά θα γίνει η δουλειά.

Τώρα για το κατά πόσο το .bat αρχείο μπορεί να εκτελείται αυτόματα κάθε x ώρα, αυτό γίνεται μέσω των windows από:

Start>all programs>accessories>system tools>scheduled tasks
Εικόνα

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

ini σε php

Δημοσίευση από geosep » 09 Απρ 2010 18:04

Τα bat το μόνο που κάνουν είναι να δίνουν την γραμμή εντολής για να ξεκινήσει το πρόγραμμα που είναι το SroServerStats.exe, το 1000 είναι να στέλνει κάθε 10 sec νέα δεδομένα και το "G:\cSilkroad" 1 είναι εκεί που έχω το παιχνίδι για να έχει πρόσβαση στους servers.
Το SroServerStats.exe είναι που γράφει τα ini τα οποία έχουν τα δεδομένα, μήπως θα πρέπει να κάνω κάποιο bat η κάτι άλλο το οποίο κάθε 10 sec θα στέλνει τα ini στον webserver η να διαβάζει από τα ini στο local PC και να τα γράφει στα ini στον webserver?
Άνοιξα το exe και διάβασα για τα ini, μήπως με κάποιον τρόπο να κάνω το πρόγραμμα να τα στέλνει στον webserver, αλλά και πάλι πως θα κάνει login εκεί δεν ξέρω.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες