访问CodeIgniter外部的文件夹 [英] access folder outside CodeIgniter

查看:116
本文介绍了访问CodeIgniter外部的文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试使用代码点火器上传图像,当上传文件夹位于应用程序文件夹之外时,它可以完美地工作.但是我的问题是,当我尝试访问整个代码点火器文件夹之外的文件夹时,它向我抛出错误.如何访问代码点火器文件夹之外的文件夹?我尝试了$ _SERVER ['DOCUMENT_ROOT'].但这没有帮助.

I've been to trying to upload images using code igniter and it works perfectly when the upload folder is just outside of application folder. But my problem is when I try to access folder which is outside whole code igniter folder it is throwing me a error. How to access the folder outside the code igniter folder? I tried $_SERVER['DOCUMENT_ROOT']. But it dint help.

$name = $_POST['name'];
        $id = $_POST['id'];
        if (isset($_FILES['upload']['name'])) {
            // total files //
            $count = count($_FILES['upload']['name']);
            // all uploads //
            $uploads = $_FILES['upload'];

            for ($i = 0; $i < $count; $i++) {
                if ($uploads['error'][$i] == 0) {
                    $firstimage = $uploads['name'][$i];
                    $secondimage = $uploads['name'][$i];

                    move_uploaded_file($uploads['tmp_name'][$i], $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/'.$uploads['name'][$i]);
                    $config2['image_library'] = 'gd2';
                    $config2['source_image'] = $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/'.$uploads['name'][$i];
                    $config2['new_image'] = $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/thumbnail/'.$uploads['name'][$i];
                    $config2['maintain_ratio'] = FALSE;
                    $config2['create_thumb'] = TRUE;
                    $config2['thumb_marker'] = '_thumb';
                    $config2['width'] = 75;
                    $config2['height'] = 50;
                    $config2['overwrite'] = TRUE;

                    $this->image_lib->initialize($config2);
                    $this->load->library('image_lib',$config2);
                    if ( ! $this->image_lib->resize())
                    {
                        echo $this->image_lib->display_errors();
                    }

                    $config3['image_library'] = 'gd2';
                    $config3['source_image'] = $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/'.$uploads['name'][$i];
                    $config3['new_image'] = $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/resize/'.$uploads['name'][$i];
                    $config3['maintain_ratio'] = FALSE;
                    $config3['create_thumb'] = TRUE;
                    $config3['thumb_marker'] = '_thumb';
                    $config3['width'] = 470;
                    $config3['height'] = 470;
                    $config3['overwrite'] = TRUE;

                    $this->image_lib->initialize($config3);
                    $this->load->library('image_lib',$config3);
                    if ( ! $this->image_lib->resize())
                    {
                        echo $this->image_lib->display_errors();
                    }

                    }


            }
            $this->load->view('head');
            $data = array(
                'name' => $name,
                'id' => $id
            ); 

推荐答案

在评论中进行讨论后,问题可能出在move_uploaded_file()函数试图将文件移动到尚不存在的目录中.

After discussing in comments, the problem is likely the move_uploaded_file() function is trying to move the file to a directory that doesn't exist yet.

move_uploaded_file($uploads['tmp_name'][$i], $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/'.$uploads['name'][$i]);

在可以移动文件之前,需要先创建文件夹.如果$ id是新的,则可能尚未创建.所以...

Before the file can be moved the folder needs to be created. If $id is new, it has probably not been created yet. So...

if (!is_dir($_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id)) {
    mkdir($_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id);
}
move_uploaded_file($uploads['tmp_name'][$i], $_SERVER['DOCUMENT_ROOT'].'tuition/tuitionimage/'.$id.'/'.$uploads['name'][$i]);

这篇关于访问CodeIgniter外部的文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆