标签: codeigniter

Codeigniter - 设置目录和文件权限(chmod设置)

因为我不认为我的应用程序文件夹和文件都有正确的权限,无论如何都要检查它们的权限?

我的意思是,有没有人知道/有一个标准/教程/链接要跟随Codeigniter设置chmod权限?

谢谢,任何帮助appriaciated!

注意:当我说allover我的意思是从根到应用程序和系统文件夹包含的所有文件

另外要指定一点点,我认为我的权限有问题,因为我通过不同的操作系统传递我的应用程序,例如macosx在目录上设置不同的权限而不是Windows等...所以它实际上是一个地狱

这是我的应用架构:

/project
   /application
   /system
   /css
   /img
   /vendor
   index.php
   .htaccess
Run Code Online (Sandbox Code Playgroud)

php permissions codeigniter chmod

6
推荐指数
1
解决办法
2万
查看次数

codeigniter在本地但在Web服务器上工作正常.404错误

Codeigniter在本地服务器上运行正常但在Web服务器上运行不正常.

我用于XAMPP本地的开发.

我正在使用Parallels Plesk Panel 11.0.9 for Microsoft Windows.

未加载codeigniter的404错误页面.Url是服务器的loadind 404错误页面.我删除 .htacces 了根目录的 所有重写规则并包含在内index.php.它仍然没有用.

搜索了很多,但找不到正确的解决方案

codeigniter文件夹的目录(站点,应用程序,系统)

是

mysite/httpdocs/demo/test/
Run Code Online (Sandbox Code Playgroud)

mysite/httpdocs/demo/test/application/config/config.php中的基本URL

$config['base_url'] = 'http://mysite/httpdocs/demo/test/site/';
Run Code Online (Sandbox Code Playgroud)

在mysite/httpdocs/demo/test/application/.htaccess中

Deny from all
Run Code Online (Sandbox Code Playgroud)

在index.php中设置的集合(mysite/httpdocs/demo/test/site/index.php)

switch (dirname(__FILE__)) {
        case 'http://mysite/httpdocs/demo/test/site':
            define('ENVIRONMENT', 'development');
        break;

        default:
            define('ENVIRONMENT', 'production');
        break;
    }
          $system_path = '../system';
          $application_folder = '../application';
Run Code Online (Sandbox Code Playgroud)

在mysite/httpdocs/demo/test/site/.htaccess中

               <IfModule mod_rewrite.c>
                           Options +FollowSymLinks
                           RewriteEngine on
                           RewriteCond %{REQUEST_FILENAME} !-f
                         RewriteCond %{REQUEST_FILENAME} !-d
                          RewriteRule ^(.*)$ index.php/$1 [L]
              </IfModule>
Run Code Online (Sandbox Code Playgroud)

在mysite/httpdocs/demo/test/application/config/routes.php中

           $route['default_controller'] = "page"; …
Run Code Online (Sandbox Code Playgroud)

codeigniter

6
推荐指数
1
解决办法
2万
查看次数

MySQL根据记录是否存在于另一个表中来选择布尔值

嗨,我有一个用户可以选择的实体表,我还有另一个表,其中包含有关用户最喜欢的实体的信息.看到:

表Entity:

id | ...
Run Code Online (Sandbox Code Playgroud)

表SavedEntity:

id | entity_id | user_id
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

entity_id | ... | favourite
Run Code Online (Sandbox Code Playgroud)

我的问题是如何更改我的查询获取所有实体,并添加一个额外的字段是boolean实体是否是用户的最爱的值?

我已经看过使用(或模仿!)a FULL JOIN但这似乎不必要地复杂,我无法让它工作,我已经看了CASE关键字,但我再次没有运气.

这种多对多的表结构是相当标准的我相信所以我确信有一种获取所需信息的标准方法,任何人都可以帮我弄清楚我缺少的东西吗?

NB我正在使用CodeIgniter和我的查询的活动记录,但我可以解决vanilla SQL问题.

mysql codeigniter case subquery full-outer-join

6
推荐指数
1
解决办法
2901
查看次数

codeigniter中的APPPATH是什么

这是一个例子.

class My_Loader extends CI_Loader {
    parent::__construct();
    include(APPPATH.'config/jscss.php');
}
Run Code Online (Sandbox Code Playgroud)

什么是上面的'APPPATH'?

php codeigniter

6
推荐指数
1
解决办法
5万
查看次数

如何捕获CodeIgniter PHP中的DB错误

我是CodeIgniter,PHP和MySQL的新手.我想处理数据库生成的错误.从Stackoverflow中的一篇文章中,我知道通过以下语句可以捕获错误.

 $this->db->_error_message();
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚使用它的确切语法.假设我想通过以下语句更新名为"table_name"的表的记录:

$array['rank']="8";
$array['class']="XII";
$this->db->where('roll_no',$roll_no);
$this->db->update("table_name", $array);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我想在发生任何数据库级别违规时捕获数据库错误,即字段名称无效或发生某些唯一约束违规.如果有人帮助我解决这个问题,我将非常感激.谢谢.

php mysql codeigniter

6
推荐指数
2
解决办法
3万
查看次数

如何在Wamp中删除index.php?

我一直在XAMPP中使用CodeIgniter.重定向到功能URL没有问题(例如,function1):

http://localhost/function1
Run Code Online (Sandbox Code Playgroud)

当我改为WAMP时,我遇到了问题.我无法重定向到function1.但是,仍然可以在以下位置访问function1:

http://localhost/index.php/function1
Run Code Online (Sandbox Code Playgroud)

如何配置WAMP和CodeIgniter来删除index.php?为了在运行XAMPP时可以运行function1.

谢谢.

wamp codeigniter

6
推荐指数
1
解决办法
9951
查看次数

PHP Codeigniter错误无法打开流:权限被拒绝

我一直在研究一个使用codeigninter的项目.我在Windows 7中工作过它很好但是我在Ubuntu上移动这个项目后在那里工作,它在我尝试访问的每个页面/控制器/方法中给出了这个错误:

Warning: require_once(/opt/lampp/htdocs/TS_Project/system/core/CodeIgniter.php): failed to open stream: Permission denied in /opt/lampp/htdocs/TS_Project/index.php on line 202

Fatal error: require_once(): Failed opening required '/opt/lampp/htdocs/TS_Project/system/core/CodeIgniter.php' (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/TS_Project/index.php on line 202
Run Code Online (Sandbox Code Playgroud)

该CodeIgniter.php文件确实存在,它的路径是正确的,我能够读取和写入它(我可以在文本编辑器中打开它并自由地修改它).我尝试使用chmod命令更改文件权限,但没有任何反应.为什么拒绝该CodeIgniter.php文件的权限?

php permissions ubuntu codeigniter file

6
推荐指数
1
解决办法
2万
查看次数

CodeIgniter的URI和表单操作

让我们说我们在

somesite.com/mail
Run Code Online (Sandbox Code Playgroud)

这意味着我们正在使用名为'mail'的控制器.这个控制器有功能:

public function index(){ 
        $this->load->view('header');
        $this->load->view('mail/contact_form');
        $this->load->view('footer');

    }
Run Code Online (Sandbox Code Playgroud)

刚输入地址栏时会加载此功能

somesite.com/mail
Run Code Online (Sandbox Code Playgroud)

并按Enter键(无其他参数).让我们看一下contact_form视图的第一行:

<form role="form" method="post" action="sendmail">
Run Code Online (Sandbox Code Playgroud)

那是我的问题.当我在末尾用反斜杠键入地址时,如下所示:

mysite.com/mail/
Run Code Online (Sandbox Code Playgroud)

并使用我的联系方式,一切正常,我的邮件控制器加载函数sendmail和URL现在:

mysite.com/mail/sendmail/
Run Code Online (Sandbox Code Playgroud)

但是当我忘记反斜杠(mysite.com/mail)时,它会找到名为"sendmail"的控制器,但我不想要它.我的网址是:

mysite.com/sendmail
Run Code Online (Sandbox Code Playgroud)

但我当然没有任何名为sendmail的控制器.我的问题是 - 如何改变我的公式的行动或我该怎么做才能使这个工作得好?唯一的答案是记住反斜杠或什么?

php forms codeigniter

6
推荐指数
1
解决办法
4万
查看次数

Codeigniter检查复选框值

我正在使用CodeIgniter,我有一个带有复选框的表单,允许用户检查并删除他们上传的照片.
在我的控制器中,我if(isset($checked) == 1)用来检查用户是否要删除照片.
$photo_to_table将设置为空并传递给$this->tank_auth->update_user()执行数据库更新,并将照片字段设置为在表中为空.否则,它将保持相同的照片.

但是在我的代码中,无论我是否检查,当我点击UPDATE按钮时,它会不断删除照片,我想知道它为什么会发生?

有人可以通过我的代码并给出建议吗?

控制器:

$user_id = $this->session->userdata('user_id');
$profile = $this->users->get_profile_by_id($user_id);

if(!empty($_FILES['photo']['name'])) 
{
    //image upload process
}
else
{
    $checked = $this->input->post('remove');
    if(isset($checked) == 1)
        {
            $photo_to_table = '';
            // here will do remove process to delete file in directory
        }
    else
    {
        $photo_to_table = $profile->photo;
    }
}

    if($this->form_validation->run()) { // validation ok
    if(!is_null($data = $this->tank_auth->update_user(
        $this->form_validation->set_value('name'),
        $this->form_validation->set_value('country'),
        $this->form_validation->set_value('website'),
        $photo_to_table
        ))) 
    { 
        // success
        $this->session->set_flashdata('msg', 'Profile has been updated');
        redirect(current_url()); …
Run Code Online (Sandbox Code Playgroud)

php checkbox codeigniter

6
推荐指数
1
解决办法
4万
查看次数

将用户密码从salted SHA1升级到bcrypt

我被聘请在新的PHP 5.3服务器上使用Laravel 4重建一个在CodeIgniter 1.7.3(在PHP 4.2服务器上)上构建的活跃应用程序.

该系统有大约500个用户,其密码使用salted SHA-1哈希进行加密.我想使用bcrypt来提高应用程序的安全性以及与Laravel 4的身份验证系统集成.

您如何建议迁移这些用户密码?

php sha1 codeigniter bcrypt laravel

6
推荐指数
2
解决办法
1928
查看次数