FTP upload in PHP

Have I installed XAMPP vrsion 1.7.2 on my Mac OS 10.5.7?

I am using the following code to download the file, but I am getting multiple errors

<?

$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);

?>

      

I am getting this warning.

Warning: ftp_put () [function.ftp-put]: / del.php: permission denied in / Applications / XAMPP / xamppfiles / htdocs / test / ftp 1.php on line 31 Unable to load Warning: ftp_chmod () [function. ftp-chmod]: / del.php: No such file or directory in / Applications / XAMPP / xamppfiles / htdocs / test / ftp 1.php on line 84 could not chmod

What is the problem? Is there any setting that I need to enable?

+2


source to share


2 answers


It looks like PHP does not have read / write permissions to this directory. This is something that you can solve on your Mac when developing locally, but keep in mind that the problem could probably recur when moving to your production server.



+1


source


   $local_file = './del.php';

      



Check file permissions del.php

.

+1


source







All Articles