Beiträge getagged ‘PHP’

Ungleiche Zufallszahlen mit PHP generieren

22 Oktober 2009

Zu diesem Thema findet man leider recht wenig Informationen im Internet, wozu ich mich entschlossen habe einen Codeschnipsel zu veröffentlichen der unterschiedliche Zufallszahlen in PHP generiert.

Folgende Funktion kann für die Generierung verwendet werden:

1
2
3
4
5
6
7
8
9
10
11
function generate_numbers( $min, $max, $anz )
{
    $array = range( $min, $max );
    srand( (double)microtime() * 1000000 );
    for ( $x=0; $x<$anz; $x++ ) {
        $i = rand( 1, count( $array) ) - 1;
        $erg[] = $array[$i];
        array_splice( $array, $i, 1 );
    }
    return $erg;
}

Diese Funktion wird mit den Werten “von welcher Zahl”, “bis zu welcher Zahl” & “wieviele Zahlen” aufgerufen.
Beispiel:

1
$zufalls_array = generate_numbers( 1, 10, 2 );

Das Beispiel generiert zwei ungleiche Zufallszahlen zwischen 1 & 10 und gibt diese aus.

Automatisch Leuten bei Twitter folgen

2 Juni 2009

Viele TwitterUser versuchen möglichst viele User mit gleichen Interesse zu verfolgen. Dies alles manuell per Hand zu machen ist sehr Zeit aufwendig und anstrengend, weshalb ich mir ein PHP-Script gebaut habe, was dies automatisch tut.

Als erstes müssen die User-Daten sowie die Such-Variable festgelegt werden.

1
2
3
$username = $_GET['user'];
$password = $_GET['pw'];
$search = $_GET['search'];

Sollen die Parameter später nicht über die URL gefüllt werden, so muss das jeweilige $_GET['*']; durch ‘*’; ersetzt werden.

Um an die User mit gleichen Datensätzen zukommen, müssen wir erst mal ein XML-Generieren welches die Gewünschten Daten beinhaltet.

1
$result = simplexml_load_file('http://search.twitter.com/search.atom?q='.$search.'&amp;rpp=30');

Hier wird einfach nur nach dem Wort aus $search gesucht und das ganze in die Variable $result gespeichert, wobei die rpp=30 die Ergebnisse auf 30 begrenzt.

Um nun die 30 Einträge auszulesen verpacken wir das ganze in eine Schleife, geben die Twitter-API Adresse sowie den CURL Befehl an und fertig ist das automatische “Follow Script”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$count = 0;
while($count &lt; 30)
{
$follow = substr($result->;entry[$count]->;author[0]->;uri, 19);
 
// The twitter API address
$url = 'http://twitter.com/friendships/create.xml';
 
// Set up and execute the curl process
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "screen_name=$follow");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
// check for success or failure
if (empty($buffer)) {
echo 'message';
} else {
echo 'success
';
}
 
$count++;
}

Das Script wird mit folgendem befehl aufegrufen. (AChtung: meine Script Datei heißt followscript.php)

http://www.host.de/followscript.php?user=Twitteruser&pw=Userpw&search=Suchbegriff

So das war’s! Solltet ihr Fehler finden oder andere Unstimmigkeiten meldet mir diese bitte, vielen dank!

StudiVZ / MeinVZ Status mit Twitter aktualisieren

13 Mai 2009

Ich gehöre zu denen Leuten die ein Facebook, MeinVZ, …. etc. Profil haben. In fast jedem Social Network hat man die Möglichkeit einen “Was ich gerade mache”-Status mit 140 Zeichen zu hinterlassen. Aber dennoch ist es doof, diese in jedem manuell zu tun. Die beste Lösung für mich ist, dass alles Synchron von Twitter ausgeht.

Es gibt zwei Möglichkeiten seinen Twitter Status in MeinVZ, StudiVZ oder SchülerVZ zu Updaten.
Möglich ist dies durch eine Schwachstelle(?) in der Mobilen VZ-Anwendung. Die erste Möglichkeit ist das man den Service von Mehrblog benutzt. Wer jedoch Angst hat seine VZ und Twitter Daten woanders zu hinterlegen, für den kommt Möglichkeit zwei, ein PHP Script von wuestenigel in Betracht.

Login Informationen

$loginStudi = “xxx“; // Deine VZ Loginname
$pwStudi = “xxx“; // Dein VZ Passwort
$loginTwitter = “xxx“; // Dein Twitter Benutzername

Letzten Twitter Status auslesen

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “http://twitter.com/statuses/user_timeline/$loginTwitter.json””);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$buffer = curl_exec($ch);
$json = json_decode($buffer);
$text = $json[0]->text;

Neue Session generieren

$url = “http://m.studivz.net/op/studivz/de/mcat/login/“; // Fuer andere VZ’s bitte das Studivz durch meinvz oder schuelervz ersetzen
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)“);
$buffer = curl_exec($ch);
$needle = “/op/studivz/de/mcat/login/;jsessionid=“;
$session = substr($buffer,strpos($buffer,$needle)+strlen($needle),32);

Einloggen

$url = “http://m.studivz.net/op/studivz/de/mcat/login/;jsessionid=“.$session; // Fuer andere VZ’s bitte das Studivz durch meinvz oder schuelervz ersetzen
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, “username=$loginStudi&password=$pwStudi“);
$buffer = curl_exec($ch);

Aktualisierung durchführen

$url = “http://m.studivz.net/op/studivz/de/mcat/status/senden/;jsessionid=“.$session; // Fuer andere VZ’s bitte das Studivz durch meinvz oder schuelervz ersetzen
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, “text=$text“);
$buffer = curl_exec($ch);

Dies Speichert man alles in eine PHP-Datei und lässt die regelmäßig von einem Cronjob ausführen. Wer keinen Cronjob hat, für den kommt Cronjob.de in Frage

Auf .htaccess passwortgeschützte Seiten mit PHP zugreifen

30 April 2009

Mal wieder ein aktuelles Problem aus dem alttag. Eine Webseite wird mittel .htaccess geschützt, wie kann man trotzdem an geschützte PHP-Seiten rankommen? Auf der Suche nach der Funktion bin ich auf folgendes Script gestoßen welches Ohne Probleme funktioniert und die .htaccess Anmeldung übernimmt.

Konfiguration der Parameter

1
2
3
4
$host = "domain.tld"; // Dein Host, z.B. admin.server.de oder geheim.de
$url = "/geheim/index.html"; // Die URI, auf die dann zugegriffen werden soll
$user = "test"; // Benutzername vom .htaccess
$pw = "testpwd"; // Passwort vom .htaccess

Der eigentliche Script Inhalt

1
2
3
4
5
6
7
8
9
header("Content-type: text/html");
$sock = fsockopen($host, 80, $errno, $errstr, 5); // 80 = Port, 5 = Timeout
fputs($sock, "GET ".$url." HTTP/1.1\r\n");
fputs($sock, "Host: ".$host."\r\n");
fputs($sock, "Authorization: Basic ".base64_encode($user.":".$pw)."\r\n");
fputs($sock, "Connection: close\r\n\r\n");
while(!feof($sock))
echo fgets($sock, 4096); // Antwort lesen
fclose($sock);

Welche Plugings sollte ein Wordpress Blog haben ?

29 April 2009

Dieser Blog ist mittlerweile mein 10. Blog welcher unter der Verwendung von Wordpress ins Leben gerufen wurde.
Wordpress eignet sich Prima um Blogs, aber auch Webseiten zu erstellen, da es leicht an die individuellen Bedürfnisse angepasst werden kann.

Um den Blog aber noch in alle Richtungen, d.h. Suchmaschinen, Userfreundliche & Performance zu Optimieren gibt es jede Menge nützliche und unnütze Plugins.

Damit man etwas Übersicht hat, habe ich eine Liste mit Wordpress Plugins zusammen getragen, die bei mir nicht mehr Fehlen dürfen.

Plugin Name Beschreibung
Exec-PHP Ermöglicht das Ausführen von PHP-Code () in Artikeln, Seiten und “Text”-Widgets.
Sociable Fügt unter Artikel & Seiten Icons hinzu, um den Artikel / die Seite in seine Favoriten aufzunehmen. Hat ein sehr gutes CMS worüber man die anzubietenden Favoriten (Google, Twitter, MSN, Facebook, …) konfigurieren kann.
Google XML Sitemaps Dieses Plugin generiert eine sitemaps.org Kompatible Sitemap von dem Wordpressblog. Die Sitemap wird direkt an Ask.com, Google, MSN Search und YAHOO geschickt.
WP Super Cache Das beste Cache Plugin für Wordpress. Es wandelt Dynamische Seite in Statische HTML-Seiten um. Die Ladezeiten des Blogs verringern sich um ein vielfaches.
All in One SEO Pack Diverse Suchmaschinen Optimierung.
SEO Friendly Images Fügt automatische alt und title Informationen zu den Bildern hinzu. (Suchmaschinenoptimierung)
NoSpamNX Anti Spam Plugin – Empfohlen von André
NextGEN Gallery Das beste Verfügbare Bildergalerie Plugin für Wordpress – Empfohlen von André

Mit PHP twitter Posts erzeugen

27 April 2009

Ich möchte euch heute mal eine Variante vorstellen, wie man mittels eines einfachen PHP-Scriptes Nachrichten an Twitter schicken.

Festlegen der Twitter Userdaten

$username = ‘Twitterusername’;
$password = ‘Twitterpassword’;

Nun legen wir fest welche Nachricht an Twitter geschickt werden soll.

$message = ‘Ich bin ein Twitter Test’;

Bevor wir nun unsere Nachricht an Twitter schicken können, muss noch die Twitter API-Definiert werden.

$url = ‘http://twitter.com/statuses/update.xml’;

Nun muss nur noch der Curl Prozess festgelegt werden, der mithilfe der definierten Userdaten unsere Nachricht an die Twitter API schickt.

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, “$url“);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
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);

Nach erfolgreicher Ausführung sollte die Nachricht nun in eurem Twitter Account auftauchen.
Es empfiehlt sich aber noch den folgenden Code hinzuzufügen:

if (empty($buffer)) {
echo ‘message’;
} else {
echo ’success’;
}

Sollte das Script auf einen Fehler laufen, wird dies gleich in dem Script ausgegeben.