2013-04-17 9 views
5

एफ़टीपी सर्वर पर कुछ फाइलें हैं। इस सर्वर पर किसी भी घंटे के लिए नई फाइलें अपलोड कर रही हैं। मैं आखिरी फाइल डाउनलोड करना चाहता हूं। मैं इस सर्वर से आखिरी अपलोड की गई फाइल कैसे प्राप्त कर सकता हूं? सभी फाइलें अलग-अलग नामों के साथ हैं।मैं PHP के साथ एफ़टीपी पर सबसे हाल की फाइल कैसे डाउनलोड कर सकता हूं?

मैंने एक फ़ाइल डाउनलोड करने के लिए फ़ॉलिंग स्क्रिप्ट का उपयोग किया।

$conn = ftp_connect("ftp.testftp.com") or die("Could not connect"); 
ftp_login($conn,"user","pass"); 
ftp_get($conn,"target.txt","source.txt",FTP_ASCII); 
ftp_close($conn); 

अग्रिम धन्यवाद !!!

+0

की कोशिश की कुछ भी:

मानते हुए अपने संशोधित बार बार अपलोड करने के लिए बराबर हैं, तो आप इस तरह कुछ कर सकता है? चरण-दर-चरण बताएं कि आपको लगता है कि समाधान क्या है (जैसे 1. फ़ाइलों की सूची प्राप्त करें, 2. नवीनतम फ़ाइल खोजें) और दिखाएं कि आप कहां फंस गए हैं। – CodeCaster

+0

मैं हमेशा 'आगे बढ़ने' फ़ोल्डर के साथ काम करता हूं, वहां मैं उन फ़ाइलों को स्थानांतरित करता हूं जिन्हें मैंने ftp के साथ डाउनलोड किया था। यह आपको समय टिकटें –

उत्तर

-1
ftp_rawlist($conn); 

नवीनतम फ़ाइल नाम निकालें और इसे प्राप्त करें।

7

यह सुनिश्चित करने का कोई तरीका नहीं है कि कौन सी फ़ाइल सबसे हालिया है, क्योंकि "अपलोड किए गए समय" विशेषता जैसी कोई चीज़ नहीं है। आपने FTP सर्वर के बारे में बहुत कुछ नहीं बताया है, लेकिन यदि आपके पास अपलोड पर कुछ स्तर का प्रबंधन है, तो आप यह सुनिश्चित कर सकते हैं कि अंतिम संशोधित समय अपलोड पर सेट हो। चाहे यह समाप्त हो रहा है, आपके एफ़टीपी सर्वर और संभवतः क्लाइंट के लिए नीचे है।

// connect 
$conn = ftp_connect('ftp.addr.com'); 
ftp_login($conn, 'user', 'pass'); 

// get list of files on given path 
$files = ftp_nlist($conn, ''); 

$mostRecent = array(
    'time' => 0, 
    'file' => null 
); 

foreach ($files as $file) { 
    // get the last modified time for the file 
    $time = ftp_mdtm($conn, $file); 

    if ($time > $mostRecent['time']) { 
     // this file is the most recent so far 
     $mostRecent['time'] = $time; 
     $mostRecent['file'] = $file; 
    } 
} 

ftp_get($conn, "target.txt", $mostRecent['file'], FTP_ASCII); 
ftp_close($conn); 
+0

पर जांच करने से रोकता है बहुत उपयोगी, धन्यवाद। – joshuarh

संबंधित मुद्दे

 संबंधित मुद्दे