2011-11-21 10 views
8

लौटा रहा है मुझे कोड के इस पाइस के साथ एक छोटी सी समस्या है। स्क्रिप्ट जोड़ता है, लेकिन यह मुझे रूट में स्थित फ़ोल्डर्स नहीं देगा ... मुझे कुछ याद आ रही है?PHP एफ़टीपी ftp_nlist काम नहीं कर रहा है, बूलियन झूठी

$ftp_server = "ftp.something.com"; 
    $ftp_user = "user"; 
    $ftp_pass = "pass"; 

    // set up a connection or die 
    $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 

    // try to login 
    if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) 
    { 
     echo "Connected as [email protected]$ftp_server\n"; 
    } 
    else 
    { 
     echo "Couldn't connect as [email protected]$ftp_server\n"; 
    } 

    $contents = ftp_nlist($conn_id, "."); 
    var_dump($contents); 

    ftp_close($conn_id); 

    die; 

यह आउटपुट

Connected as [email protected]$ftp_server; 

और

boolean false 

क्यों यह फ़ाइलों की सूची नहीं होगा?

मैं

file_exists("ftp//user:[email protected]") 

साथ बहुत तेजी से इस का समाधान कर सकता है ... लेकिन आसान हिस्सा क्या im, के लिए मैं कुछ भी

+0

त्रुटि रिपोर्टिंग चालू है? –

+0

त्रुटि_ रिपोर्टिंग (E_ERROR | E_WARNING | E_PARSE); – Master345

+0

त्रुटि_ रिपोर्टिंग (E_ALL) में बदल गया; और अभी भी – Master345

उत्तर

35

ftp_nlist() रिटर्न false सीखना नहीं होगा एक त्रुटि तब होती है जब की तलाश में नहीं है। मेरा अनुमान है कि आप निष्क्रिय हस्तांतरण का उपयोग करने की आवश्यकता है:

// after ftp_login(...) 
ftp_pasv($conn_id, true); 

Generell, मैं या ftp की तरह एक एक CLI उपकरण एक जीयूआई ग्राहक Filezilla तरह का उपयोग करके इस समस्या का निवारण करने की सलाह देते हैं। लॉग/आउटपुट बहुत उपयोगी है।

HTH

+0

तो वहाँ एक log.log कुछ है जो एक त्रुटि लिखना चाहिए, क्या यह सही है? – Master345

+0

मुझे दस्तावेज़ों में कुछ भी दिखाई नहीं देता है और मैंने कोशिश नहीं की है। और मेरे पास कोई एफ़टीपी सर्वर नहीं है। :) क्या यह काम करता है? – Till

+0

मेरे लिए निष्क्रिय मोड हल समस्या को स्थापित करना। इस तरह की चीजें दस्तावेज होनी चाहिए! – MilanG

0

मैं भी सिर्फ इस बात की पुष्टि है जो और जहां यह सुनिश्चित करें कि अनुमतियाँ और वास्तविक परिणाम आपकी अपेक्षा के अनुरूप सत्य हैं बनाने के लिए कर रहे हैं (एक छोटे से मानसिक स्वास्थ्य की जांच एक बार ही सही स्वस्थ है) सुझाव है।

echo shell_exec('whoami')." is who i am </br>"; 

और तुम्हारे जाने के बाद उपयोगकर्ता के रूप में तो

echo "Current directory is now: " . ftp_pwd($conn_id) . "</br>"; 

कनेक्ट अगर आप कमांड लाइन से इन बातों को क्या कर सकते हैं के रूप में इस उपयोगकर्ता और सूची निर्देशिका की सामग्री तो आप अपने रास्ते पर अच्छी तरह से किया जाना चाहिए।

+0

मैंने इस लंबे समय पहले एक साधारण file_get_contents (यूआरआई उपयोगकर्ता पास) के साथ हल किया, लेकिन आपका विचार अच्छा है, धन्यवाद! – Master345

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