2009-09-22 200 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文件权限。