<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

if ($fp = fopen("http://***.***.***.***/***.***.***.***_*****/ULib/users.txt","r")) {
	$content = '';
	// keep reading until there's nothing left 
	while ($line = fgets($fp, 1024)) {
		$content .= $line;
	}
	echo $content;

	//Array of special charecters you want to replace
	$special1 = array('{','}','STEAM','-','_',':','0','1','2','3','4','5','6','7','8','9','ï','»','¿','""','"allow"','"deny"'); 
	$special2 = array(' ');
	$special3 = array('"name"');	
	$special4 = array('"group"','"superadmin"','"admin"');
	
	$replacement1 = str_replace($special1,'',$content);
	$replacement2 = str_replace($special2,'_',$replacement1);
} 

?>


He all,
Ik heb een probleem maar kan hem niet oplossen.
Ik zal mijn script even uitleggen.

Eerst open ik een remote bestand en lees het dan.
vervolgens word het als een string opgeslagen in de var $content
De string ziet er zo uit:


"STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName1" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName2" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName3" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName4" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName5" } 


Deze strip ik helemaal met str_replace tot dat ik alleen dit heb:


"group" "superadmin"
"name" "USeRName1" 

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"


Nu mijn vraag: Hoe can ik dit in een array zetten?
Zo eigenlijk:


Array 
( 
	[0] => Array 
		(
			[group] => superadmin
			[name] => USeRName1
		) 
	[1] => Array 
		(
			[group] => superadmin
			[name] => USeRName2
	) 
	[2] => Array 
		( 
			[group] => superadmin
			[name] => USeRName3
		) 
	[3] => Array 
		( 
			[group] => superadmin
			[name] => USeRName4
		)
	[4] => Array 
		( 
			[group] => superadmin
			[name] => USeRName5
		)
	[5] => Array 
		( 
			[group] => superadmin
			[name] => USeRName6
		)
)


De bedoeling is ook dat als op het remote bestand word gewijzigd, zoals meer of minder admins, dat dit ook word doorgevoerd.
Kan iemand me hier mee helpen?

Toevoeging op 25/08/2010 09:25:13:

Kan niemand mij helpen??????
Wel bedankt phphulp voor uw wijze hulp!!

edit:
sarcastisch bedoeld!
Synaps Framework op 29/08/2010 17:05:52

Graag gedaan.


ha ha niet grappig.. >:(
ik dacht al dat dit via PM ofzo was opgelost
Vincent Huisman op 29/08/2010 17:19:44

ik dacht al dat dit via PM ofzo was opgelost


Uh nee anders zou ik dat wel zeggen.
Zo ben ik dan weer
en waarom die je dit niet via een database?
Vincent Huisman op 29/08/2010 17:33:47

en waarom die je dit niet via een database?


Omdat het van de gameserver word afgehaalt.
Deze moet ik anders steeds in een database zetten.
(Nee de gameserver gebruikt GEEN database)
Nou jonge, omdat je het zo lief vraagt en zo beleeft bumpt, hier issie dan:
<?PHP
$var='"group" "superadmin"
"name" "USeRName1"

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"';
$var=preg_replace('/\"(.*?)\"\s\"(.*?)\"'.PHP_EOL.'\"(.*?)\"\s\"(.*?)\"/si','{"\\1":"\\2","\\3":"\\4"}',$var);
$var="[".str_replace("}".PHP_EOL.PHP_EOL."{","},".PHP_EOL.PHP_EOL."{",$var)."]";
$var=json_decode($var,true);
var_dump($var);
?>
SilverWolf NL op 29/08/2010 17:55:49

Nou jonge, omdat je het zo lief vraagt en zo beleeft bumpt, hier issie dan:
<?PHP
$var='"group" "superadmin"
"name" "USeRName1"

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"';
$var=preg_replace('/\"(.*?)\"\s\"(.*?)\"'.PHP_EOL.'\"(.*?)\"\s\"(.*?)\"/si','{"\\1":"\\2","\\3":"\\4"}',$var);
$var="[".str_replace("}".PHP_EOL.PHP_EOL."{","},".PHP_EOL.PHP_EOL."{",$var)."]";
$var=json_decode($var,true);
var_dump($var);
?>

Fijn dat iemand de moeite neemt. Bedankt. Maar xD

Zoals als ik al zei in mijn eerste post. ik haal het van een server.
Dus is het niet een var.

Ik zal mezelf nog effe quoten:
Marc Hagen op 24/08/2010 19:50:26


<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

if ($fp = fopen("http://***.***.***.***/***.***.***.***_*****/ULib/users.txt","r")) {
	$content = '';
	// keep reading until there's nothing left 
	while ($line = fgets($fp, 1024)) {
		$content .= $line;
	}
	echo $content;

	//Deze strip ik helemaal met str_replace tot dat ik alleen dit heb:
	$special1 = array('{','}','STEAM','-','_',':','0','1','2','3','4','5','6','7','8','9','ï','»','¿','""','"allow"','"deny"'); 
	$special2 = array(' ');
	$special3 = array('"name"');	
	$special4 = array('"group"','"superadmin"','"admin"');
	
	$replacement1 = str_replace($special1,'',$content);
	$replacement2 = str_replace($special2,'_',$replacement1);
} 

?>


He all,
Ik heb een probleem maar kan hem niet oplossen.
Ik zal mijn script even uitleggen.

Eerst open ik een remote bestand en lees het dan.
vervolgens word het als een string opgeslagen in de var $content
De string ziet er zo uit:
=== hier is het bestand zoals ik het krijg:

"STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName1" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName2" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName3" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName4" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName5" } 


Deze strip ik helemaal met str_replace tot dat ik alleen dit heb:


"group" "superadmin"
"name" "USeRName1" 

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"


Nu mijn vraag: Hoe can ik dit in een array zetten?
Zo eigenlijk:


Array 
( 
	[0] => Array 
		(
			[group] => superadmin
			[name] => USeRName1
		) 
	[1] => Array 
		(
			[group] => superadmin
			[name] => USeRName2
	) 
	[2] => Array 
		( 
			[group] => superadmin
			[name] => USeRName3
		) 
	[3] => Array 
		( 
			[group] => superadmin
			[name] => USeRName4
		)
	[4] => Array 
		( 
			[group] => superadmin
			[name] => USeRName5
		)
	[5] => Array 
		( 
			[group] => superadmin
			[name] => USeRName6
		)
)


De bedoeling is ook dat als op het remote bestand word gewijzigd, zoals meer of minder admins, dat dit ook word doorgevoerd.
Kan iemand me hier mee helpen?

Toevoeging op 25/08/2010 09:25:13:

Kan niemand mij helpen??????


Toevoeging op 29/08/2010 18:04:09:

Ik heb dus al zitten klooien met:
explode(), str_split(), preg_split()
maar het probleem is dat ik het niet in een array krijg zoals hierboven staat vermeld
je kan die var toch verplaatsem met wat jij hebt?

Reageren