【问题标题】:Codeigniter -> File Upload Path | Folder CreateCodeigniter -> 文件上传路径 |文件夹创建
【发布时间】:2012-04-22 04:14:48
【问题描述】:

目前我有以下:

$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; 
}

【问题讨论】:

  • 我没有关注 - 你不是已经可以通过 $data['folderName'] 访问该值了吗?
  • 是的科林,但我需要以某种方式合并 mkdir 或类似的东西来在服务器上创建文件夹。
  • 您可能想澄清一下,您问的是如何创建一个名为 $data['folderName'] 的目录 - 我对您的问题的解释不同。

标签: php codeigniter image-uploading


【解决方案1】:

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

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

请注意:

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

【讨论】:

  • 没有 if 可以工作吗?
  • if 将检查文件夹是否存在,如果存在则不会创建它,也不会抛出任何警告。..
  • 你不需要 else 子句!如果文件夹没有退出,您仍想继续上传(创建文件夹后)。
  • 您也可以file_exists查看目录是否存在。
  • @mischa 你在这两个方面都是正确的.. 但从我的角度来看,最好让你的代码对每个人都可读..
【解决方案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; 

【讨论】:

    【解决方案3】:

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

    $folderName = $this->model->functionName()->tableName;
    
    $config['upload_path'] = "this/$folderName/";
    

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

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

    【讨论】:

    • 我想在服务器上创建那个 $folderName
    • 当我上传图像时,我希望它被上传到文件夹 $folderName 但这个文件夹不存在我需要创建它。可能在上传功能之前这样做
    【解决方案4】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 1970-01-01
      • 2014-02-13
      • 2019-05-17
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多