Codeigniter - >文件上传路径|文件夹创建

时间:2012-04-09 20:10:18

标签: php codeigniter image-uploading

目前我有以下内容:

$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 个答案:

答案 0 :(得分:8)

我不确定他们使用file_exist函数在谈论什么,因为你需要检查它的目录..

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

请注意:

  1. 我已将权限添加到该文件夹​​,以便您可以将文件上传到该文件夹​​。
  2. 我删除了else,因为它在这里没用(如@mischa所说)..

答案 1 :(得分: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; 

答案 2 :(得分:1)

不太确定'词典'是什么意思,但是如果你问的是如何创建变量:

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

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

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

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

答案 3 :(得分: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命令。