PHP CronJob: 2 Scripte verbinden?

Belee

Lt. Commander
Registriert
Dez. 2006
Beiträge
1.518
Hallo

Dies ist das Script was via CronJob jede Stunde ausgeführt wird und für
einen User einen Tweet absetzt.
Nun möchte ich das Script erweitern also für noch einen User, und zwar um die gleiche Sache wobei sich nur die Location und halt ganz andere Daten/Tweets handelt. Ist das möglich oder muss ich für jedes Script ein seperaten CronJob einrichten?

Dies ist das Script:
PHP:
$username = 'User1';
$password = 'xxxxx';
$tracks = file_get_contents('http://www.user1.de/user1.xml');
$tracks = str_replace('&','&',$tracks);
$tracks = new SimpleXMLElement($tracks);
$song = $tracks->tracks[0]->track[0]->title;
$song = utf8_encode($song);
$artist = $tracks->tracks[0]->track[0]->artist[0]->name;
$artist = utf8_encode($artist);
$album = $tracks->tracks[0]->track[0]->record;
$message = urlencode($artist.' - '.$song.' http://stream.user1.de/user1.txt');
$url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

Also, das nochmal für einen anderen User aber mit ganz anderen Daten/Tweets die von woanders geholt werden.
Falls ich das also in ein PHP Script erweitern kann, was muss ich dabei beachten?
Muss ich "curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 3);" für den zweiten User erhöhen?

Danke!
Belee
 
Ich würde einfach alles, was für jeden User ausgeführt werden soll, in eine Funktion packen und dabei die veränderlichen Daten durch Parameter ersetzen. Dann bräuchtest du nur noch für jeden User einmal diese Funktion aufzurufen.
 
Hast Du Zeit für ein kleines Beispiel wie man es am besten machen könnte?
 
Hm so vielleicht? :D

PHP:
<?php
function Tweet($twusername, $twpassword, $user, $xml, $streamtxt) {
	$tracks = file_get_contents($xml);
	$tracks = str_replace('&','&amp;',$tracks);
	$tracks = new SimpleXMLElement($tracks);
	$song = $tracks->tracks[0]->track[0]->title;
	$song = utf8_encode($song);
	$artist = $tracks->tracks[0]->track[0]->artist[0]->name;
	$artist = utf8_encode($artist);
	$album = $tracks->tracks[0]->track[0]->record;
	$message = urlencode($artist.' - '.$song.' '.$streamtxt);
	$url = 'http://twitter.com/statuses/update.xml';
	$curl_handle = curl_init();
	curl_setopt($curl_handle, CURLOPT_URL, "$url");
	curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 3);
	curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl_handle, CURLOPT_POST, 1);
	curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
	curl_setopt($curl_handle, CURLOPT_USERPWD, "$twusername:$twpassword");
	$buffer = curl_exec($curl_handle);
	curl_close($curl_handle);
	return true;
}


Tweet('User1', 'xxxxx', 'user1', 'http://www.user1.de/user1.xml', 'http://stream.user1.de/user1.txt');
Tweet('User2', 'xxxx',  'user2', 'http://www.user2.de/user2.xml', 'http://stream.user1.de/user2.txt');
Tweet('User3', 'xxx',   'user3', 'http://www.user3.de/user3.xml', 'http://stream.user1.de/user3.txt');
?>
 
Zuletzt bearbeitet:
Jep, genau so war das gedacht :)
 
Zurück
Oben