Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter,GroceryCRUD,GoDaddy-文件上载错误_Php_Linux_Codeigniter_Grocery Crud - Fatal编程技术网

Php Codeigniter,GroceryCRUD,GoDaddy-文件上载错误

Php Codeigniter,GroceryCRUD,GoDaddy-文件上载错误,php,linux,codeigniter,grocery-crud,Php,Linux,Codeigniter,Grocery Crud,我在CI中有一个控制器,可以将文件上载到数据库。它在本地运行良好。我在GoDaddy上设置了CI,更改了权限,更改了数据库配置等 现在,当我尝试上传一个文件时,我可以选择该文件,它会100%上传,但不会保存。现在就可以测试上传到ARE777的目录文件的权限。我在webdev控制台中获得以下信息: Error in event handler for (unknown): TypeError: Cannot read property 'state' of null at CSRecord

我在CI中有一个控制器,可以将文件上载到数据库。它在本地运行良好。我在GoDaddy上设置了CI,更改了权限,更改了数据库配置等

现在,当我尝试上传一个文件时,我可以选择该文件,它会100%上传,但不会保存。现在就可以测试上传到ARE777的目录文件的权限。我在webdev控制台中获得以下信息:

Error in event handler for (unknown): TypeError: Cannot read property 'state' of null
    at CSRecorder.onQueryStateCompleted (chrome-extension://cplklnmnlbnpmjogncfgfijoopmnlemp/content_scripts/recorder.js:45:13)
    at extensions::messaging:327:9
    at Function.target.(anonymous function) (extensions::SafeBuiltins:19:14)
    at Event.dispatchToListener (extensions::event_bindings:386:22)
    at Event.dispatch_ (extensions::event_bindings:371:27)
    at Event.dispatch (extensions::event_bindings:392:17)
    at dispatchOnMessage (extensions::messaging:294:22) extensions::event_bindings:375
GET http://mywebsite.com/index.php/assets/uploads/files/dark_bg.png 404 (Not Found) jquery-1.10.2.min.js:4
event.returnValue is deprecated. Please use the standard event.preventDefault() instead. 
我还看到一个弹出窗口,上面写着:6

这是控制器,它在我的本地Windows计算机上工作:

public function photo_upload()
    {
        try{

            $gc = new grocery_CRUD;

            $gc->set_table('photography')
                ->set_subject('Image')
                ->required_fields('image_path')
                ->columns('image_path','image_name');

            $gc->set_field_upload('image_path','assets/uploads/files');
            $gc->unset_fields(array('image_date','image_extension'));
            $gc->change_field_type('image_name','invisible');
            $gc->callback_before_insert(array($this,'rename_image'));

            $output = $gc->render();

            $this->_example_output($output); 
        }catch(Exception $e){
                show_error($e->getMessage().' --- '.$e->getTraceAsString());
            }       
    }

function rename_image($post_array) 
    {
        if (!empty($post_array)) {
            //Remove image extension from image name
            $img_name = preg_replace('/\.[^.]+$/', '', $post_array['image_path']);
            //Remove codeigniter id from image name
            $img_name = substr($img_name, 6);
            $post_array['image_name'] = $img_name;
            return $post_array;
        }
    }

您是否100%确定目录存在并且指向的映像路径存在

$gc->set_field_upload('image_path','assets/uploads/files');
您可以为此设置一个绝对路径:

$gc->set_field_upload('image_path',BASEPATH.'assets/uploads/files');
你能告诉我你的CI错误日志是怎么写的吗?在application/logs/log-*.php中 我不理解您所遇到的错误是错误弹出窗口似乎不是来自这段代码。我希望弹出以下消息:

show_error($e->getMessage().' --- '.$e->getTraceAsString());

但是你会看到:mywebsite.com上的页面显示:6。

用getcwd检查你当前的工作目录。您是否在本地计算机上从子目录(如mydomain.com/dev)开发了该站点,现在在实际主机上从根目录(如mydomain.com/)运行该站点?如果是,你的

$gc->set_field_upload('image_path','assets/uploads/files');
实际上可能需要在路径中添加一个/。。如果没有,请向我们展示以下各项的输出:

echo getcwd; 以及从任何ftp客户端到资产/上传/文件的完整路径。
在foto_upload方法中执行getcwd命令,以确保您看到CI当前工作的实际路径。

我仔细检查了服务器,目录结构确实在那里,此外,如果我按照您上面的建议使用BASEPATH,它会放置绝对路径两次,并抱怨找不到它。我尝试签入application/logs/但此目录中没有日志。