我在Code Igniter模型中有这个功能,可以创建一个新的"视频".
// Creates a new video.
public function newVideo($title, $description) {
$this->db->query("INSERT INTO videos VALUES (NULL, '$title', '$description')");
return // id of this new row
}
Run Code Online (Sandbox Code Playgroud)
如何在MySQL表中获取此新行的ID?我可以得到最后一行并添加1,但我相信可能存在并发错误.
我正在使用HMVC的库,我正在使用CI 2.1,我只是不能从基本的东西开始,有人告诉我如何在我作为模块工作时加载控制器的模型?
我读了这篇文档https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home,我创建了config/routes文件.
控制器:
class Testcase extends MX_Controller {
function index()
{
echo "test1";
$this->load->model('testcase/testcase_model');
echo "test2";
}
}
Run Code Online (Sandbox Code Playgroud)
我使用"echo"来查看它失败的地方,因为它没有给我任何错误...所以,当我加载模块时,它根本不起作用,我也尝试过这种方式
$this->load->model('testcase_model',NULL,TRUE);
Run Code Online (Sandbox Code Playgroud)
但仍然没有成功......
模型:
class Testcase_model extends MX_Model {
function __construct(){
parent::__construct();
}
function testcase(){
return "success";
}
}
Run Code Online (Sandbox Code Playgroud)
当我安装库时,我将第三方文件夹复制到核心文件夹中.
有人能给我一些线索吗?
谢谢!
如何在codeigniter中进行多文件上传
<input type="file" name="pic[]">
<input type="file" name="pic[]">
<input type="file" name="pic[]">
Run Code Online (Sandbox Code Playgroud)
我该如何上传?
使用do_upload函数
我正在使用Codeigniter进行项目,我通常会调用一系列模型(比如说控制器A - > modelA - > modelB - > modelC).我希望php在它调用exit()命令时遇到一些异常时停止执行.现在,如果exit()在modelB中调用该命令,它是否会仅停止执行modelB的脚本并继续执行modelA的其余部分?或者它会停止整个执行流程.
我真的不知道如何把这个问题放在这里.这个问题看起来很混乱.如果我需要修改问题,请告诉我.
我正在尝试上传图像并在同一功能中以不同的尺寸重新调整它们的大小.但是会发生的是,只有一个重新调整大小而其他重组大小不起作用.我的代码是:
function do_upload()
{
$this_user = $this->auth->info;if(!is_dir('./uploads/'.$this_user->username)){
mkdir('./uploads/'.$this_user->username);
mkdir('./uploads/'.$this_user->username.'/photos');
mkdir('./uploads/'.$this_user->username.'/photos/master');
mkdir('./uploads/'.$this_user->username.'/photos/small');
mkdir('./uploads/'.$this_user->username.'/photos/medium');
mkdir('./uploads/'.$this_user->username.'/photos/large');
mkdir('./uploads/'.$this_user->username.'/photos/xlarge');
}
$config['upload_path'] = './uploads/'.$this_user->username.'/photos/master/';
$config['allowed_types'] = 'gif|jpg';
$title = $this->input->post('title');
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
echo '<div id="status">error</div>';
echo '<div id="message">'. $this->upload->display_errors() .'</div>';
}
else
{
$data = array('upload_data' => $this->upload->data());
//resizing begins
$image_width = $data['upload_data']['image_width'];
$image_height = $data['upload_data']['image_height'];
$full_path = $data['upload_data']['full_path'];
//checking for width
if($image_width>5000){
$config['image_library'] = 'gd2';
$config['source_image'] = $full_path;
//$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 5000;
//$config['height'] = 50; …Run Code Online (Sandbox Code Playgroud) 我想为artcles建立以下网址:http://mysite.com/articles/ ID.ID是文章的ID,当然不是常数.如何使用codeigniter完成?据我所知,第二段应该是控制器内的方法名称...
我很了解php.但我是一个非常新的php框架学习者.我正在学习codeigniter 2.0.3.我正在尝试开发一个简单的hello world应用程序.
我试过这段代码..
class Hello extends Controller{
function Hello(){
parent::Controller();
}
function you(){
$this->load->view("you_view");
}
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是我收到了这个错误......
致命错误:第7行的C:\ wamp\www\CodeIgniter\application\controllers\hello_world.php中找不到"控制器"类
如何application在CodeIgniter中获取目录路径?有没有"不脏"的方法呢?
我正在查看常量,但是我找到的最接近的是BASEPATH返回/system目录的完整路径,所以基本上我可以str_replace使用应用程序系统 - 但我只是很好奇,是否还有其他简洁明了的方法应用目录路径?
我是PHP和Codeigniter的新手,所以我相信这很简单.
我有以这种格式存储的联系方式,其中type(1,2,3,4)映射到(facebook,mobile,bbm,msn,twitter):
ID | USERID | TYPE | VALUE
1 | 8 | 2 | 076773635
Run Code Online (Sandbox Code Playgroud)
我已经建立了一个模型来访问这些联系人详细信息,可能没有,或者最好是每种类型之一;
function getContactDetails($userid) {
$query = $this->db->query("SELECT * FROM who_user_contact_info WHERE userid=".$userid);
foreach ($query->result() as $row)
{
switch ($row->type) {
case 1:
$contact['facebook'] = $row->value;
case 2:
$contact['mobile'] = $row->value;
case 3:
$contact['bbm'] = $row->value;
case 4:
$contact['msn'] = $row->value;
case 5:
$contact['twitter'] = $row->value;
}
}
return $contact;
}
Run Code Online (Sandbox Code Playgroud)
我的控制器然后将此数据传递给我的视图;
<h3>Contact Info</h2>
<?php
echo "Facebook: ". $facebook ."<br />";
echo "mobile:". $mobile ." …Run Code Online (Sandbox Code Playgroud) 假设有一个控制器(让我们称之为"main")和一个执行一堆(10)功能的相关模型.
我想知道加载第二个模型以执行一个主模型中不存在的函数的相关开销,而不仅仅是在主模型中添加该函数(复制代码).
加载第二个模型的优点是代码更少/更容易维护.
缺点是加载第二个模型的开销.
我对开销的担心是否有效?我是非CS人,只是想知道这里最好的做法是什么.
谢谢,蒂姆