Ben PHP akışları ile oynamak oldum ve burada gösterilen sınıf yazmak başlayarak deneme olmuştur. PHP dokümanlar az söylemek, bu alanda biraz yalın.
Ben geri arama yöntemi belirtilen çağırmak benim akışı içerik almak ile zor bir zaman yaşıyorum. I file_get_contents
veya fopen
geri çağrılan bir sokete bağlanmayı gibi bir işlevi kullanın, ama ben kullanırsanız stream_socket_client
bunu yapmazsa.
I stream_socket_client
için içerik geçiyorum çünkü olması gerektiği üstlenecek ve ben kullanırsanız fgets dönecekti gibi stream_socket_recvfrom
Ben prizden geri aynı dizeyi olsun.
İlgili PHP docs yazının sonunda bağlantılıdır.
class IMAP {
// Connection Parameters
private $host;
private $port;
private $timeout;
// Credentials
private $email;
private $password;
private $client;
private $transcript;
function __construct($connection, $credentials) {
// Set Connection Settings
$this->host = $connection['host'];
$this->port = $connection['port'];
$this->timeout = $connection['timeout'];
// Set Credentials
$this->email = $credentials['email'];
$this->password = $credentials['password'];
// Connect to the IMAP server
$params = array('notification'=>array($this, 'getLine'));
$ctx = stream_context_create();
stream_context_set_params($ctx, $params);
$this->client = stream_socket_client("tcp://$this->host:$this->port",$errno, $errstr, $this->timeout, STREAM_CLIENT_CONNECT, $ctx);
stream_socket_sendto($this->client, "a001 NOOP\r\n");
}
function getLine($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
$args = func_get_args();
var_dump($args);
}
}
$connection = array(
'host' => 'somehost',
'port' => 143,
'timeout' => 10
);
$credentails = array(
'email' => 'someemail',
'password' => 'somepassword'
);
$imap = new IMAP($connection, $credentails);
?>
http://us3.php.net/manual/en/function.stream-context-set-params.php http://us3.php.net/manual/en/context.params.php
Ben de bu biraz ilgili PHP hata raporu bulunan, ancak rapor anlamsız gibi görünüyor: