查看我的上一个问题,因为这链接到它:PHP - Moving multiple files with different files names to own directory
所以我决定使用Joomla API,但文档仅适用于1.5和2.5系统,但我使用的是3.0。我有一些看起来像这样的文件:
" 2005532-JoePharnel.pdf"
和
" 1205121-HarryCollins.pdf"
基本上我想创建一个PHP代码,当有人将这些文件上传到上传文件夹时,它会1)创建一个目录,如果它不存在则使用名称2)将文件移动到正确的目录(例如JoePharnel向JoePharnel目录忽略开头的数字)
更新时间:2014年10月23日 - 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 - 假设&#39; JPATH_COMPONENT&#39;在第70行的/upload.php中。但是没有阻止它正常工作,我非常接近任何帮助非常感谢。我想知道它拍摄图像的位置,我想我已经制定了&#34; DS&#34;现在
由于