From 5927a0dc28715b6e5ab297f1f5badd35df15a5b8 Mon Sep 17 00:00:00 2001 From: arno Date: Sat, 8 Aug 2009 14:24:51 +0200 Subject: [PATCH] images stored on ftp server --- api.php | 4 ++++ inc/settings.php.in | 12 ++++++++++++ inc/utils.php | 30 ++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/api.php b/api.php index ac49d76..3c0abc3 100644 --- a/api.php +++ b/api.php @@ -120,11 +120,13 @@ function save_uploaded_file ($file, $con) { (!move_uploaded_file ($file ["tmp_name"], $dest))) { error_server (); } + send_to_ftp ($dest); $mini_dest = getthumbsdir () . "/mini_" . basename_safe ($dest); if (!create_thumbnail_or_copy ($dest, $mini_dest)) { error_server (); } + send_to_ftp ($mini_dest); } return basename_safe ($dest); } @@ -153,11 +155,13 @@ function delete_image_if_unused ($imgpath, $con) { $path = UPLOADDIR . "/" . $imgpath; if (file_exists ($path)) { unlink ($path); + delete_from_ftp ($path); } $thumb_path = getthumbsdir () . "/mini_" . $imgpath; if (file_exists ($thumb_path)) { unlink ($thumb_path); + delete_from_ftp ($thumb_path); } } diff --git a/inc/settings.php.in b/inc/settings.php.in index ed12c5f..38742f4 100644 --- a/inc/settings.php.in +++ b/inc/settings.php.in @@ -28,6 +28,18 @@ define ("THUMBSDIR", "upload/_thumbs"); // title of your website define ("SITETITLE", "SYP"); +// ftp server to store photos +define ("FTPSERVER", ""); + +// ftp user +define ("FTPUSER", ""); + +// ftp pass +define ("FTPPASS", ""); + +// ftp directory for images and thumbnails +define ("FTPROOTDIR", ""); + // email contact for webmaster. define ("WEBMASTERMAIL", ""); diff --git a/inc/utils.php b/inc/utils.php index a5a1c8b..84cbeb5 100644 --- a/inc/utils.php +++ b/inc/utils.php @@ -182,4 +182,34 @@ function create_thumbnail ($filename, $destfile) { return true; } + +function delete_from_ftp ($file) { + $ftp_conn = ftp_connect (FTPSERVER); + $login = ftp_login ($ftp_conn, FTPUSER, FTPPASS); + if ((!$ftp_conn) || (!$login)) { + server_error (); + } + $target = sprintf ("%s/%s", FTPROOTDIR, $file); + $deleted = ftp_delete ($ftp_conn, $target); + + if (!$deleted) { + server_error (); + } + ftp_close ($ftp_conn); +} + +function send_to_ftp ($file) { + $ftp_conn = ftp_connect (FTPSERVER); + $login = ftp_login ($ftp_conn, FTPUSER, FTPPASS); + if ((!$ftp_conn) || (!$login)) { + server_error (); + } + $dest = sprintf ("%s/%s", FTPROOTDIR, $file); + $upload = ftp_put ($ftp_conn, $dest, $file, FTP_BINARY); + + if (!$upload) { + server_error (); + } + ftp_close ($ftp_conn); +} ?> -- 2.39.2