我在Mac OS 10.5.7上安装了XAMPP vrsion 1.7.2?
我使用以下代码上传文件,但我收到的错误很少
<?
$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-put]:/ del.php:第31行/Applications/XAMPP/xamppfiles/htdocs/test/ftp1.php中的权限被拒绝 无法上传 警告:ftp_chmod()[function.ftp-chmod]:/ del.php:第84行的/Applications/XAMPP/xamppfiles/htdocs/test/ftp1.php中没有这样的文件或目录 不能chmod
有什么问题?我需要启用任何设置吗?
答案 0 :(得分:1)
看起来PHP没有对该目录的读/写权限。这是您在本地开发时可以在Mac上解决的问题,但请注意,当您迁移到生产服务器时,问题可能会重演。
答案 1 :(得分:1)
$local_file = './del.php';
检查您的del.php
文件权限。