joomla — JPath Перемещение нескольких файлов в правильный каталог

Смотрите мой последний вопрос, так как это ссылки на него: PHP — перемещение нескольких файлов с разными именами файлов в собственный каталог

Поэтому я решил использовать Joomla API, однако документация была предназначена только для системы 1.5 и 2.5, но я использую 3.0. У меня есть несколько файлов, которые выглядят так:

«2005532-JoePharnel.pdf»

а также

«1205121-HarryCollins.pdf»

По сути, я хочу создать код PHP, который, когда кто-то ftp загружает эти файлы в папку загрузки, будет 1) Создать каталог, если он не существует, используя там имя 2) Переместить файлы в правильный каталог (например, JoePharnel в Каталог JoePharnel, игнорирующий номер в начале)

Обновлено: 23.10.14 — 14:05:

Мой новый код создает папку, но не перемещает файл при загрузке в эту новую папку, код приведен ниже:

       <?php

define( '_JEXEC', 1);

define('JPATH', dirname(__FILE__) );

if (!defined('DS')){
define( 'DS', DIRECTORY_SEPARATOR );$parts = explode( DS, JPATH );
$script_root =  implode( DS, $parts ) ;

// check path
$x = array_search ( 'administrator', $parts  );
if (!$x) exit;

$path = '';

for ($i=0; $i < $x; $i++){
$path = $path.$parts[$i].DS;
}
// remove last DS
$path = substr($path, 0, -1);

if (!defined('JPATH_BASE')){
define('JPATH_BASE', $path );
}

if (!defined('JPATH_SITE')){
define('JPATH_SITE', $path );
}

/* Required Files */
require_once ( JPATH_SITE . DS . 'includes' . DS . 'defines.php' );
require_once ( JPATH_SITE . DS . 'includes' . DS . 'framework.php' );
require_once ( JPATH_SITE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );//Import filesystem libraries. Perhaps not necessary, but does not hurt

jimport('joomla.filesystem.path');
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
jimport('joomla.user.user');//First we set up parameters
$searchpath = JPATH_BASE . DS . "upload";
//Then we create the subfolder called png
if ( !JFolder::create($searchpath . DS ."Images") ) {
//Throw error message and stop script
}

//Now we read all png files and put them in an array.
$png_files = JFolder::files($searchpath,'.png');

//Now we need some stuff from the JFile:: class to move all files into the new folder
foreach ($png_files as $file) {
JFile::move($searchpath. DS . ".png" . $file, $searchpath . DS. "Images" . $file);
}

//Lastly, we are moving the complete subdir to the root of the component.
if (JFolder::move($searchpath . DS. "Images",JPATH_COMPONENT) ) {
//Redirect with perhaps a happy message
} else {
//Throw an error

}
}?>

Единственная ошибка, которую я получаю, это Уведомление: использование неопределенной константы JPATH_COMPONENT — предполагается, что ‘JPATH_COMPONENT’ в /upload.php в строке 70. Но это не мешает работе, я так близок по этому вопросу, что любая помощь очень ценится. Я хочу знать, где это берет изображение, я думаю, что я разработал «DS» сейчас.

Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]