4

目前我有以下内容:

$config['upload_path'] = 'this/path/location/';

我想做的是创建以下控制器,但我不知道如何攻击它!!

$data['folderName'] = $this->model->functionName()->tableName;

$config['upload_path'] = 'this/'.$folderName.'/';

我将如何$folderName?在服务器上创建字典?

杰米:

我可以执行以下操作吗?

if(!file_exists($folderName))
{

  $folder = mkdir('/location/'$folderName);

   return $folder; 
}
else
{
 $config['upload_path'] = $folder; 
}
4

4 回答 4

8

我不确定他们在使用 file_exist 函数在说什么,因为您需要检查它是否是目录..

$folderName = $this->model->functionName()->tableName;
$config['upload_path'] = "this/$folderName/";
if(!is_dir($folderName))
{
   mkdir($folderName,0777);
}

请注意:

  1. 我已将权限添加到该文件夹​​,以便您可以将文件上传到该文件夹​​。
  2. 我已经删除了,else因为它在这里没有用(正如@mischa 指出的那样)..
于 2012-04-10T15:51:47.660 回答
2

这是不正确的:

if(!file_exists($folderName))
{
   mkdir($folderName);
}
else
{
   // Carry on with upload
}

如果文件夹不存在,则不会上传任何内容!你必须摆脱 else 子句。

$path = "this/$folderName/";

if(!file_exists($path))
{
   mkdir($path);
}

// Carry on with upload
$config['upload_path'] = $path; 
于 2012-04-11T05:15:29.523 回答
1

不太清楚你所说的“字典”是什么意思,但如果你问的是如何创建一个变量:

$folderName = $this->model->functionName()->tableName;

$config['upload_path'] = "this/$folderName/";

添加/检查目录是否存在:

if(!file_exists($folderName))
{
   mkdir($folderName);
}
else
{
   // Carry on with upload
}
于 2012-04-09T20:24:43.767 回答
0

不是 100% 确定您想要从描述中得到什么,所以这里有一些建议:

如果您需要使用 PHP 以编程方式创建文件夹,您可以使用 mkdir() 函数,请参阅: http: //php.net/manual/en/function.mkdir.php

此外,请查看 Codeignitor 文件帮助程序以读取和写入文件: http ://codeigniter.com/user_guide/helpers/file_helper.html

如果文件夹已经存在,您需要确保权限是可写的。在 Windows 上,您可以右键单击文件夹、属性、安全性并在那里进行编辑。在 Linux 上,您需要 chmod 命令。

于 2012-04-09T20:39:57.933 回答