ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingftp ทุกไฟล์จาก host นึง ไปยัง host นึง ผ่าน php ทำไงครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ftp ทุกไฟล์จาก host นึง ไปยัง host นึง ผ่าน php ทำไงครับ  (อ่าน 1602 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Nemesis
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 316



ดูรายละเอียด
« เมื่อ: 03 ตุลาคม 2007, 10:28:52 »

ตามหัวข้อเลยครับ แบบว่า ผมลองทำแล้วรัน สักพัก browser มันก็หยุดไป.... อัพโหลดไปแค่ ไฟล์เดียว ไม่ก็สองไฟล์ก็หยด

โค๊ด:
<?php
@set_time_limit(0);
function 
readfilelist($dirname) {
$dir opendir($dirname);
$i=0;
$list=array();
while(false !== ($file readdir($dir))){
if($file != "." && $file != ".." && $file != "Thumbs.db" && is_dir($file)!=true && $file!="index.php"){
$list[$i++]=$file;
}
}
closedir($dir);
return $list;
}

$filelist readfilelist(".");

foreach(
$filelist as $filename) { 
echo 
$filename."<br>";
$ftp_server "xxx.com";
$ftp_user_name "username"// Username
$ftp_user_pass "pass";   // Password
// set up basic connection
$conn_id ftp_connect($ftp_server);

// login with username and password
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
        echo 
"FTP connection has failed!";
        echo 
"Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
    } else {
        echo 
"Connected to $ftp_server, for user $ftp_user_name";
    }

// upload the file
$upload ftp_put($conn_id$filename$filenameFTP_BINARY);

// check upload status
if (!$upload) {
        echo 
"FTP upload has failed!";
    } else {
        echo 
"Uploaded $source_file to $ftp_server as $destination_file";
    }

// close the FTP stream
ftp_close($conn_id);

}
?>


อยากให้มันรันตลอด อัพไปทีละไฟล์จนกว่าจะหมดในโฟลเดอร์ (โฟลเดอร์เดียวนะครับ) น่ะครับ ใครพอรู้ช่วยหน่อย  Kiss
บันทึกการเข้า

golf98765
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 2,476



ดูรายละเอียด
« ตอบ #1 เมื่อ: 03 ตุลาคม 2007, 10:36:38 »

ใช้ net2ftp สิครับ

ติดตั้งง่าย ทำงานก็ง่าย เหมือน panel ของ dreamhost อ่ะครับ
 Smiley
บันทึกการเข้า
Nemesis
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 316



ดูรายละเอียด
« ตอบ #2 เมื่อ: 03 ตุลาคม 2007, 10:38:51 »

ใช้ net2ftp สิครับ

ติดตั้งง่าย ทำงานก็ง่าย เหมือน panel ของ dreamhost อ่ะครับ
 Smiley

แล้วมัน ftp จาก ไฟล์ในโฮส ไปที่อื่นได้ใช่ป่ะคับ ถ้าได้ก็... เชเลย

อ่า ลองอ่าน feature หล่ะ ใช้ได้

ขอบคุณคร๊าบ
« แก้ไขครั้งสุดท้าย: 03 ตุลาคม 2007, 10:48:57 โดย googig » บันทึกการเข้า

Nemesis
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 316



ดูรายละเอียด
« ตอบ #3 เมื่อ: 03 ตุลาคม 2007, 11:34:22 »

ลองใช้ดูแล้วครับ ใช้ไม่ได้อะครับ เวลาก๊อปไปอีก ftp มัน error ตลอดเลย ลองไฟล์เล็กๆ ไม่มี error แต่ไปดู ftp ปลายทาง ไม่มีไฟล์ใดๆ ไปที่โน่นเลย ลองใช้ตัวหลักที่เว็บเค้าเลยก็ใช้ไม่ได้เหมือนกัน... แล้วผมจะทำไงต่อหล่ะนิ  Huh?
บันทึกการเข้า

Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 03 ตุลาคม 2007, 12:13:06 »

ใช้ cURL

โค๊ด:
<?php
function download_ftp_multiple_file($server$username$password$directory) {
    print 
"$server<br>";
    print 
"$username<br>";
    print 
"$password<br>";
    print 
"$directory<br>";

    
$location "ftp://".$server."/".$directory."/";
    print 
"$location<br>";

    
$curl curl_init();
    
curl_setopt($curlCURLOPT_URL$location);
    
curl_setopt($curlCURLOPT_FTPLISTONLY1);
    
curl_setopt($curlCURLOPT_USERPWD"$username:$password");
    
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
    
$return trim(curl_exec($curl));
    
$files explode("\n"$return);
    
curl_close ($curl);

    
$totalfiles count($files);
    print 
"$totalfiles<br>";

    for (
$x=0$x<$totalfiles$x++) {
        print 
"X = $x<br>";
         
        
$fetchfile trim($files[$x]);
        print 
"$fetchfile<br>";
        print 
"$location$fetchfile<br>";
        
$file fopen($fetchfile"wb");

        
$curl curl_init();
        
curl_setopt($curlCURLOPT_URL"$location$fetchfile");
        
curl_setopt($curlCURLOPT_USERPWD"$username:$password");
        
curl_setopt($curlCURLOPT_FILE$file);
        
curl_exec($curl);
        
curl_close ($curl);   
        
fclose($file);
    }

}

download_ftp_multiple_file('202.111.111.111''user''pwd''httpdocs/directory');
?>
บันทึกการเข้า

Nemesis
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 316



ดูรายละเอียด
« ตอบ #5 เมื่อ: 03 ตุลาคม 2007, 12:30:15 »

โอ๊ ขอบคุณคร๊าบเฮีย  Cry
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์