2009-09-22 459 views
2

我在我的Mac OS 10.5.7上安裝了XAMPP vrsion 1.7.2嗎?FTP上傳到PHP

我使用下面的代碼上傳文件,但我得到一些錯誤

<? 

$host = 'localhost'; 
$usr = 'nobody'; 
$pwd = 'xampp'; 

// connect to FTP server (port 21) 
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host"); 

// send access parameters 
ftp_login($conn_id, $usr, $pwd) or die("Cannot login"); 


// turn on passive mode transfers (some servers need this) 
ftp_pasv ($conn_id, true); 


// perform file upload 

// file to upload: 
$local_file = './del.php'; 
$ftp_path = '/del.php'; 

$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII); 

// check upload status: 
if(!$upload) { 
    print 'Cannot upload' ; 
} else { 
    print 'Upload complete'; 
} 
print "\n"; 

/* 
** Chmod the file (just as example) 
*/ 

// If you are using PHP4 then you need to use this code: 
// (because the "ftp_chmod" command is just available in PHP5+) 

if (!function_exists('ftp_chmod')) { 
    function ftp_chmod($ftp_stream, $mode, $filename){ 
     return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename)); 
    } 
} 

// try to chmod the new file to 666 (writeable) 
if (ftp_chmod($conn_id, 0666, $ftp_path) !== false) { 
    print $ftp_path . " chmoded successfully to 666\n"; 
} else { 
    print "could not chmod $file\n"; 
} 

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

?> 

我得到這個警告。

警告:ftp_put()[function.ftp-放]:/del.php:權限/Applications/XAMPP/xamppfiles/htdocs/test/ftp1.php否認線31 無法上傳 警告:ftp_chmod( )[/etc/xamp/xamppfiles/htdocs/test/ftp1.php上線84上無此文件或目錄 無法chmod

問題是什麼?有沒有需要啓用的設置?

回答

1

它看起來像PHP沒有該目錄的讀/寫權限。這是您可以在本地開發時在Mac上解決的問題,但請注意,當您遷移到生產服務器時,問題可能會重演。

1
$local_file = './del.php'; 

檢查您的del.php文件權限。