标签: codeigniter

Codeigniter ZIP文件下载已损坏

我使用标准CI zip库来读取目录并创建一个zip文件以供下载但是当我在Windows中测试时,我得到:

Windows错误

在OS X中,zip解压缩一个cpgz文件,然后无限制地解压缩到一个zip文件

我的CI功能:

public function downloadPackage($unique) {
    $this->load->library('zip');
    $text = $this->syndication_m->getTextForContent($unique);

    $path = '/var/www/html/uploads/'.$unique.'/';

    if(file_exists($path."copy-".$unique.".txt")) {
        unlink($path."copy-".$unique.".txt");
        $fp = fopen($path."copy-".$unique.".txt","wb");
        fwrite($fp,$text);
        fclose($fp);
    }

    $this->zip->read_dir($path);
    $this->zip->download('dl-'.$unique.'.zip');
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我修复或建议在这做什么?谢谢

编辑

public function downloadPackage($unique) {
    $this->load->library('zip');
    $path = '/var/www/html/uploads/'.$unique.'/';

    $text = $this->syndication_m->getTextForContent($unique);
    $this->zip->read_dir($path, TRUE);
    $this->zip->add_data('copy-'.$unique.'.txt', $text->synd_text);
    $this->zip->download('dl-'.$unique.'.zip');
}
Run Code Online (Sandbox Code Playgroud)

php zip codeigniter

0
推荐指数
1
解决办法
3517
查看次数

如何安全地访问外部数据库?

我正在开发一个移动应用程序,它必须访问外部webapp(PHP + Codeigniter)来管理ajax查询的操作.

所以通过这种方式,存在一个问题.如果有人看到使用的URL,可以删除行,或从数据库修改用户的信息.所以我想在这个系统中没有这个:

成功登录后,我会这样做:

// getToken : https://stackoverflow.com/a/13733588/2154101

$this->session->set_userdata('private_token', getToken(50));
$public_token = getToken(50);
$this->session->set_userdata('secure_token', md5("$private_token:$public_token"));
$data['token'] = $public_token;
// some stuff ...
// send $data in JSON
Run Code Online (Sandbox Code Playgroud)

然后客户端将在下一个查询中使用公共令牌,我将在服务器上执行此操作:

$public_token  = $this->input->post('token');
$data['token'] = get_public_token($public_token);
// some stuff ...
// send $data in JSON
Run Code Online (Sandbox Code Playgroud)

get_public_token使用此代码的助手位于何处:

public get_public_token($public_token) {

    $last_secure_token = $this->session->userdata('secure_token');
    $private_token = $this->session->userdata('private_token');
    $actual_token = md5("$private_token:$public_token");

    if ($actual_token === $last_secure_token) {
        $public_token = getToken(50);
        $this->session->set_data('private_token', getToken(50));
        $this->session->set_data('secure_token', md5("$private_token:$public_token"));
        return $public_token;
    } else { // you are cheating me …
Run Code Online (Sandbox Code Playgroud)

php optimization codeigniter cross-domain

0
推荐指数
1
解决办法
259
查看次数

PHPExcel未知字符

我已经按照一些教程看了一些人有同样的问题,但我无法弄清楚如何将这个工作放在我的项目上.

顺便说一句,我正在使用CodeIgniter框架,我的计算机中有Excel 2007.

public function exportExcel(){

    require(APPPATH . 'libraries/toExcel/PHPExcel.php');
    $objPHPExcel = new PHPExcel();

    $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A1', 'Hello');

    // Rename worksheet
    $objPHPExcel->getActiveSheet()->setTitle('Simple');     

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header('Content-Disposition: attachment; filename=01simple.xls');
    header('Cache-Control: max-age=0');

    $objWriter->save('php://output');

    exit;
}
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码.每当我下载该函数生成的文件并尝试打开它时,我得到的是: 在此输入图像描述

当我点击"是"时,我会收到:

在此输入图像描述

php codeigniter phpexcel

0
推荐指数
1
解决办法
2166
查看次数

CodeIgniter视图页面为空

首先,我是CodeIgniter的新手.

我正在尝试CRUD使用CodeIgniter 开发一个简单的页面.到目前为止,我刚刚创建了View页面,没有任何CRUD功能.它只是一个普通的视图页面,其中包含一个包含从数据库中检索的模型数据的表.

这是我的视图页面的代码,工作正常,文件名 - show_users.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CI CRUD</title>
</head>

<body>
<h2> Simple CI CRUD Application </h2>
<table width="600" border="1" cellpadding="5">
<tr>
<th scope="col">Id</th>
<th scope="col">User Name</th>
<th scope="col">Email</th>
<th scope="col">Mobile</th>
<th scope="col">Address</th>
</tr>
<?php foreach ($user_list as $u_key){ ?>
<tr>
<td><?php echo $u_key->id; ?></td>
<td><?php echo $u_key->name; ?></td>
<td><?php echo $u_key->email; ?></td>
<td><?php echo $u_key->address; ?></td>
<td><?php echo $u_key->mobile; ?></td> …
Run Code Online (Sandbox Code Playgroud)

php mysql templates codeigniter

0
推荐指数
1
解决办法
2015
查看次数

我正在创建一个Codeigniter库,我该如何测试代码?

我正在使用codeigniter为轮盘赌系统建立一个库.

我希望使代码非常高效和防黑客.

  1. 有没有可以用来测试代码的工具,比如功能测试等?
  2. 代码效率高吗?如果不是如何测试/提高效率?

这是代码

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Name:  Prad Roulette
*
* Version: 0.1
*
* Author: Pradyummna Reddy
*         prad@hireprad.co.uk
*         
*
* Location: https://github.com/pradyummna/prad_roulette
*
* Created:  21/10/2014
*
* Description:  The library can be used for roulette system developers
*
* Requirements: PHP5 or above
*
*/

class Prad_roulette
{

    /**
     *
     * Function to find if the number is a valid roulette number
     *
     * @param …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

0
推荐指数
1
解决办法
75
查看次数

codeigniter 2.2的sqlite3配置

我是第一次使用sqlite,所以我在使用codeigniter 2.2配置它时遇到了问题.

我把我的sqlite数据库放在: - application/config/sqlite/sqlite-database.db

我的配置是: -

    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = '';
    $db['default']['password'] = '';
    $db['default']['database'] = 'sqlite/sqlite-database.db';
    $db['default']['dbdriver'] = 'sqlite';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = TRUE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

我无法连接到数据库

php sqlite codeigniter

0
推荐指数
1
解决办法
4818
查看次数

Codeigniter - 表单验证2字段,不匹配值

我正在尝试对必须具有不同值的2字段进行验证.我只知道如何设置验证匹配值的规则.

$this->form_validation->set_rules('book1','Book1','required|matches[book2]');
$this->form_validation->set_rules('book2','Book2','required|matches[book1]');
Run Code Online (Sandbox Code Playgroud)

如果我输入book1= novel,和book2= novel,上面的代码将返回TRUE.

如何验证每个字段的值彼此不匹配的2个字段?所以,如果我输入book1= novel和book2= comic,它将返回TRUE.

php validation codeigniter

0
推荐指数
1
解决办法
3062
查看次数

如果条件在Angular JS中匹配,则添加一个类

我刚刚开始使用角度js.我正在使用CodeIgniter.如果条件匹配,我正在尝试添加{class ="active"}.

我正在尝试添加一个活动类,<li>如果它的标题与url的最后一段匹配.

即

 if(title of this nav_menu matches with the last uri segment)
    add "active" class
 else
    do nothing
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

header.php文件

<ul class="nav navbar-nav" ng-app="" ng-controller="menuController">
    <li ng-repeat="x in menus" ng-class="{'active': x.name = scope}">
        <a ng-href="http://{{ x.link}}">{{ x.name }}</a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

footer.php

<script
    src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>


<script>
    function menuController($scope) {

        $scope.menus = [ {
            name : "Home",
            link : "projects/test/home"
        }, {
            name : "Daily Special",
            link : "projects/caesar/daily-especial"
        }, {
            name : "Menu",
            link : "projects/test/menu"
        }, { …
Run Code Online (Sandbox Code Playgroud)

javascript php codeigniter angularjs

0
推荐指数
1
解决办法
668
查看次数

为什么我上传到托管时会在codeigniter中出现error_404.php错误?

我上传到主机时我的网站不起作用,但它在localhost中工作.当我尝试访问url时,alwasy显示错误 - 12-01-14 06:33:25 - > 404页面未找到:/ index(日志文件),我收到错误.

这是我的托管用户名和密码访问控制面板:

  • https://cp.supremecenter300.com
  • 客户ID:142606
  • 登录:hengsopheak
  • 密码:2142885

    已定义('BASEPATH')或退出('不允许直接访问脚本');

    function __autoload($ classname){if(strpos($ classname,'CI_')!== 0){$ file = APPPATH.'libraries /'.$ classname.'.PHP'; if(file_exists($ file)){@ include_once($ file); }}}

    $ config ['base_url'] ='';

    $ config ['index_page'] ='';

    $ config ['uri_protocol'] ='PATH_INFO';

    $ config ['url_suffix'] ='';

    $ config ['language'] ='english';

    $ config ['charset'] ='UTF-8';

    $ config ['enable_hooks'] = FALSE;

    $ config ['subclass_prefix'] ='MY_';

    $ config ['composer_autoload'] = FALSE;

    $ config ['allowed_uri_chars'] ='az 0-9~%.:_ - ';

    $ config ['allow_get_array'] = …

php .htaccess codeigniter web-config

0
推荐指数
1
解决办法
1348
查看次数

如何在postgres中创建具有默认值的枚举

我想在postgres中创建具有默认值的类型枚举,是的,我已经看到此枚举上的先前问题已经检查过.或者请任何人都可以建议我如何完成以下表格结构基本上我需要这样

create type status as enum('pending','approved','declined'); //here i want default value to be set as pending.
Run Code Online (Sandbox Code Playgroud)

如何在表中完成此任务.我正在使用codeigniter和postgresql.有什么建议吗?

postgresql enums codeigniter

0
推荐指数
1
解决办法
2283
查看次数