php ftp multithread ผมไม่รู้วิธีการว่าถ้าเราต้องการที่จะใช้ function ftp for php
php มันไม่มี thread ให้ใช้ครับ
ถ้าจะทำให้มันใช้งานคล้ายเธรด มันก็ไม่เธรด นะครับ แค่ทำงานสับกันไปพร้อมๆกัน
คือใช้ FTP ลิงค์ ไปหลายๆที่พร้อมกัน
และใช้ ftp_nb_fget() ตัวนี้ครับ อ่านแบบไม่ซิงโคร จะสามารถใช้งานคล้ายเธรดได้คับ
Date :
2009-08-02 08:26:37
By :
pjgunner
ครับ
คือผมใช้วิธีการเก็บไอพีทั้ง 10 เครื่องลูกไว้ในตัวแปรอาเรย์คราวนี้เวลาที่ผมต้องการที่จะใช้
ftp_connect() สั่งครั้งเดียวแล้วทำงานพร้อมกันเลยจะใช้วีธีการแบบไหนได้บ้างครับ
ขอบคุณครับ
Date :
2009-08-02 09:48:12
By :
fox_it
ก็เก็บใน array เหมือนเดิม
ตย.
Code (PHP)
<?php
$user = 'pjgunner';
$pass = '1234';
$ips = array('192.168.255.1', '192.168.255.2', '192.168.255.3');
foreach( $ips as $val ){
$cids[] = ftp_connect($val);
if( !@ftp_login(end($cids), $user, $pass) ) array_pop($cids);
}
?>
ประมาณนี้ครับ ผมเองก็ไม่เคยใช้เหมือนกัน ส่วนอื่นคงต้องหาวิธีเอาเองนะครับตามที่บอกไปข้างต้น
ยังมีส่วนของการสร้างไฟล์ อ่านไฟล์ และระวังชื่อไฟล์ซ้ำด้วยนะครับ
SITE: http://gunner.freetzi.com/newVer
MSN: [email protected]
TEL: 087-577-0276
Date :
2009-08-02 10:08:25
By :
pjgunner
ขอบคุณครับ pjgunner
เดี๋ยวได้เรื่องยังไงจะมาตอบครับขอทดลองดูก่อนครับ
Date :
2009-08-02 10:13:12
By :
fox_it
ผมได้ลองใช้ไอพีของผมเปลี่ยนชื่อและพลาสเวิร์ดแล้วเช็คการติดต่อก็ไม่สามารถติดต่อได้ครับ
<?php
$user = 'root';
$pass = '123456';
$ips = array('192.168.1.1', '192.168.1.2', '192.168.1.3');
foreach( $ips as $val ){
$cids[] = ftp_connect($val);
if($login = @ftp_login($cids, $user, $pass) )
{
print "connect complete";
}else{
print "No connect\n";
}
}
?>
No connect
No connect
No connect
ผลแสดงว่าไม่สามารถติดต่อได้ครับ
ไม่รู้ว่าผิดตรงไหนครับ
Date :
2009-08-02 11:25:27
By :
fox_it
ครับ ตรงบรรทัดนี้.
if($login = @ftp_login($cids, $user, $pass) )
ลองแก้เป็น
if($login = @ftp_login(end($cids), $user, $pass) )
คับ
Date :
2009-08-02 18:35:28
By :
pjgunner
ผมลองดูแล้วครับได้ครับแต่ก็ยังทำงานแบบลูปเกตมาที่ละไอพีเหมือนเดิมครับ
คงต้องใช้วิธีFTP ลิงค์ ไปหลายๆที่พร้อมกันอย่างที่พี่บอกครับผมว่าช่วยได้เยอะเลยครับ
ขอบคุณมากครับ
Date :
2009-08-05 12:26:28
By :
fox_it
ftp_nb_get กับ ftp_get แตกต่างกันยังไงครับผมไม่เข้าใจครับรูปแบบในการเกตดาต้าเป็นแบบไหนครับ
Date :
2009-08-06 11:46:22
By :
fox_it
ftp_nb_fget() retrieves a remote file from the FTP server.
The difference between this function and ftp_fget() is that this function retrieves the file asynchronously, so your program can perform other operations while the file is being downloaded .
----------------------------------------------------------------------------------------------------------------------
ftp_get() retrieves a remote file from the FTP server, and saves it into a local file.
Date :
2009-08-06 19:39:07
By :
pjgunner
Load balance : Server 04