Skip to content

Instantly share code, notes, and snippets.

@ryarwood
Last active January 1, 2021 20:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ryarwood/7550005 to your computer and use it in GitHub Desktop.
Save ryarwood/7550005 to your computer and use it in GitHub Desktop.
Simple file upload example from Vandaele.
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
function ftp_uploaddirectory($conn_id, $local_dir, $remote_dir)
{
ftp_mkdir($conn_id, $remote_dir);
$handle = opendir($local_dir);
while (($file = readdir($handle)) !== false)
{
if (($file != '.') && ($file != '..'))
{
if (is_dir($local_dir.$file))
{
ftp_uploaddirectory($conn_id, $local_dir.$file.'/', $remote_dir.$file.'/');
}
else
$f[] = $file;
}
}
closedir($handle);
if (count($f))
{
sort($f);
ftp_chdir($conn_id, $remote_dir);
foreach ($f as $files)
{
$from = fopen("$local_dir$files", 'r');
if (ftp_fput($conn_id, $files, $from, FTP_BINARY)) {
rename($local_dir.$files, "/home/114700/domains/vandaele.com/html/wp-content/themes/vandaele/xml_archive/".$files);
echo "Successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
}
}
}
$ftp_server='209.112.18.232';
$ftp_server_port='21';
$ftp_user_name='XXX';
$ftp_user_pass='XXX';
$local_dir='/home/114700/domains/vandaele.com/html/wp-content/themes/vandaele/xml/';
$remote_dir = '';
//$conn_id = ftp_connect($ftp_server, $ftp_server_port);
//$conn_id = ftp_connect($ftp_server);
/* end error checking, remove for live file */
/* FTP IN */
$conn_id = ftp_connect($ftp_server);
ftp_pasv($conn_id, true);
ftp_login ($conn_id, $ftp_user_name, $ftp_user_pass);
/* RUN FUNCTION */
ftp_uploaddirectory($conn_id, '/home/114700/domains/vandaele.com/html/wp-content/themes/vandaele/xml/', '/');
/* GET OUT */
ftp_quit($conn_id);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment