Загрузка картинок на фтп-сервер.
поюзал поиск. ничего дельного не нашел.
Есть плагины для загрузки фото на серверы амазон s3, имаджешок и т.д.
А можно ли переопределить функции движка, чтобы он загружал фото на облачное хранилище типа Selectel.ru вместо папки uploads?
или опять только через плагин?
Есть плагины для загрузки фото на серверы амазон s3, имаджешок и т.д.
А можно ли переопределить функции движка, чтобы он загружал фото на облачное хранилище типа Selectel.ru вместо папки uploads?
или опять только через плагин?
4 комментария
/**
* Сохраняет(копирует) файл изображения на сервер
* Если переопределить данный метод, то можно сохранять изображения, например, на Amazon S3
*
* @param string $sFileSource Полный путь до исходного файла
* @param string $sDirDest Каталог для сохранения файла относительно корня сайта
* @param string $sFileDest Имя файла для сохранения
* @param int|null $iMode Права chmod для файла, например, 0777
* @param bool $bRemoveSource Удалять исходный файл или нет
* @return bool | string
*/
public function SaveFile($sFileSource,$sDirDest,$sFileDest,$iMode=null,$bRemoveSource=false) {
$sFileDestFullPath=rtrim(Config::Get('path.root.server'),"/").'/'.trim($sDirDest,"/").'/'.$sFileDest;
$this->CreateDirectory($sDirDest);
$bResult=copy($sFileSource,$sFileDestFullPath);
if ($bResult and !is_null($iMode)) {
chmod($sFileDestFullPath,$iMode);
}
if ($bRemoveSource) {
unlink($sFileSource);
}
/**
* Если копирование прошло успешно, возвращаем новый серверный путь до файла
*/
if ($bResult) {
return $sFileDestFullPath;
}
return false;
}
Пусть поправят если я не прав, правда надо признать сколько я не пробовал связать с амазоном так ни хрена и не получилось нормального. Видать программирование надо учить а не наугад тыкать =)
Но скорость загрузки не очень высокая, так как сервера далеко.
Например, вот здесь картинки грузятся с серверов Амазон.
У меня тут есть spagency.org/blog/open/ тестовые картинки, которые получилось запилить на амазон при моих экспериментах.