我正在尝试重命名图像文件并将文件位置保存在数据库中。我遇到了问题,因为我想将文件命名为我要插入的表行的 id。上传并插入后,我想看到我的表,如下所示:
----------------------------------------
| id | name | category | image |
----------------------------------------
| 1 | foo | category | uploads/1.jpg |
----------------------------------------
Run Code Online (Sandbox Code Playgroud)
id 字段自动递增。这是我的代码:
function service()
{
$con=$this->do_upload();
$id=mysql_insert_id();
$data=array(
'name'=>$this->input->post('name'),
'category'=>$this->input->post('category'),
'image'=>'uploads/'.$id.$con['file_ext'];
);
$query=$this->db->insert('table',$data);
return $query;
}
Run Code Online (Sandbox Code Playgroud)
这不是正确的方法,并且假设文件没有按需要保存在数据库中。而不是将其保存为“uploads/1.jpg”,而是将其保存为“uploads/0.jpg”。
任何人都可以为我提供正确的约定来做到这一点吗?注意我正在使用codeigniter 2.1.0和mySQL数据库。
我想使用/config/upload.php配置我的上传.但是,我的一些配置项会根据情况而有所不同.在大多数情况下,上传目录是动态设置的(例如,它包含用户的id,使用随机文件夹等).有时,可以上传的文件类型会有所不同(例如,只有一种情况下的照片,只有另一种情况下的视频).
我可以将一般配置项放在/config/upload.php中并稍后添加/覆盖某些内容吗?如果是这样,怎么样?
我有一个页面,其中包含从数据库加载的4个产品,当您向下滚动时,每次都会获得4个产品.
这个产品是随机加载的,问题是重复的产品.
这是我在模型中使用的行:
$this->db->order_by('productID', 'RANDOM');
Run Code Online (Sandbox Code Playgroud)
没有这条线,一切正常.我不能使用limitset to 1,因为我有:
$query = $this->db->get('product', 4, $offset);
Run Code Online (Sandbox Code Playgroud)
有一种简单的方法可以解决这个问题吗?我要做一个包含所有产品的数组?
UPDATE
这是index.php中的脚本
<script type="text/javascript">
$(document).ready(function(){
var products = <?= $get_products ?>;
var loaded_products = 0;
$(".loadMoreProducts").click(function(){
loaded_products += 4;
var dati = "welcome/get_products/" + loaded_products;
$.ajax({
url:'welcome/get_products/' + loaded_products,
type: 'get',
data: dati,
cache: false,
success: function() {
$.get(dati, function(data){
$("#mainContainerProductWelcome").append(data);
});
if(loaded_products >= products - 4) {
$(".loadMoreProducts").hide();
} else {
// load more still visible
}
},
error: function() {
// there's …Run Code Online (Sandbox Code Playgroud) 找不到 codeigniter 是否有任何内置帮助程序来将字符串格式化为 url?例如,“Lorem ipsum dolor sat amet”将是“lorem-ipsum-dolor-sit-amet”或类似的东西。
如何将两个对象传递给codeigniter视图页面?
这可能吗 ?
$this->load->view('myView', $object1, $object2);
Run Code Online (Sandbox Code Playgroud) 我需要找到一个doctrine函数,允许我查询数据库表的所有名称.
我找到了解决方案,例如这个.(您需要将实体放入函数,它将返回表的名称.)
$em = $this->getDoctrine()->getEntityManager();
$tableName = $em->getClassMetadata('StoreBundle:User')->getTableName();
Run Code Online (Sandbox Code Playgroud)
这不是我需要的.我在SQL中会做的是:
show tables in database_name;
Run Code Online (Sandbox Code Playgroud)
它返回数据库中所有表的名称.
我需要使用Doctrine来做到这一点.
嗨,我正在使用CodeIgniter制作应用程序。
我想将数字ID加密为加密的字符串。
从
至
http://example.com/post/v4th54u654khi3f23of23ir2h398eh2xi012
我尝试了内置的加密库
$ this->加密->编码(6)
但是它会为每次页面加载生成不同的加密字符串,这不是我想要的,我希望永久链接就像Youtube视频ID一样。
我需要加密的字符串也可以解密。
我有一个像这样的 cron 工作:
/usr/bin/php /var/www/website/public_html/index.php className methodName
Run Code Online (Sandbox Code Playgroud)
如果我在终端中运行它,它会运行,但不输出任何内容。如果我传递了错误的方法名称,它会成功运行。如果我传递错误的类名,它会输出一个网站 404 错误。
例如,我还有一个路由,它将“en”添加到 url 中
http://www.website.com/en/home/index
Run Code Online (Sandbox Code Playgroud)
这可能是问题吗?
我的 config.php 设置是:
$config['uri_protocol'] = 'AUTO';
$config['index_page'] = '';
Run Code Online (Sandbox Code Playgroud) 我无法使用与 codeigniter 中的用户 ID 匹配的行更新同一行的多列。
我的控制器代码是:
退出.php
function update_act_on_resignation(){
global $SITE,$USER;
$data = array();
$data['row'] = new stdClass();
$data['row'] = $this->admin_init_elements->set_post_vals($this->input->post());
$data['offices']=$this->mod_common->get_all_offices();
$clients = currentuserclients();
$data['roles'] = $this->mod_common->get_cat_array('designation','status',"1' AND id > '0",'designation');
get_city_state_country_array($data,array('cityid'=>$data['row']->cityid));
$data['error_message'] = '';
$data['row']->id = $this->uri->segment(3);
$data['id'] = $this->uri->segment(3);
$data['action'] = 'add';
$data['heading'] = 'Add';
$data['msg_class'] = 'sukses';
$data['path']=$path;
$post_action = $this->input->post('action');
if($post_action=='add' || $post_action =='update' ){
$post_array = $this->input->post();
$action = ($post_action == 'add')?'inserted':'updated';
//echo '<pre>';print_r($SITE);die;
echo $post_array['exit_type'] = 'Employee Initiated';
echo $post_array[$id] = $USER->id;
echo …Run Code Online (Sandbox Code Playgroud)我是使用 CodeIgniter 的新手,但我对 mvc 结构和 CodeIgniter 本身有足够的了解,可以做一些简单的事情,比如在控制器中加载视图和自动加载库等但我遇到的问题是我有一个页眉和页脚视图每次加载视图文件时都希望自动加载。
我做了一些搜索,很多建议都过时了,或者有时我根本不明白解决方案。我已经创建了我的页眉视图并在其中链接了我的 CSS,并且还创建了我的页脚视图。因此,假设我想加载如下所示的默认欢迎页面:
public function index() {
$this->load->view('welcome_message');
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样手动加载它们:
public function index() {
$this->load->view('common/header');
$this->load->view('welcome_message');
$this->load->view('common/footer');
}
Run Code Online (Sandbox Code Playgroud)
但我想要的是像正常一样加载视图并自动加载我的页眉和页脚。我知道这需要使用带有某种模板功能的自定义库来完成,但我知道的不够多,无法从头开始。
codeigniter-2 ×10
codeigniter ×7
php ×7
mysql ×2
doctrine ×1
encryption ×1
file-upload ×1
globals ×1
url ×1