Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当将CodeIgniter插入数据库时,file_get_contents会发狂。

当将CodeIgniter插入数据库时,file_get_contents会发狂。
EN

Stack Overflow用户
提问于 2014-07-18 08:25:12
回答 1查看 804关注 0票数 0

我得到了大量的错误代码在文件核心/安全在许多行。

之所以会发生这种情况,是因为这两行代码:

代码语言:javascript
运行
AI代码解释
复制
$fileFinal = file_get_contents($fileTmp);
$projectFile['file'] = $fileFinal;

虽然我知道这不是将文件插入到数据库中的最佳实践,但这并不是问题所在。

这是我的全部代码:

代码语言:javascript
运行
AI代码解释
复制
$fileName = $file['name'];
$fileTmp  = $file['tmp_name']; 
$fileSize = $file['size']; 
$fileType = $file['type']; 

$fileFinal = file_get_contents($fileTmp);

if($fileFinal != null){

    $projectFile = array();

    $projectFile['file']        = $fileFinal;
    $projectFile['file_name']   = $fileName;
    $projectFile['file_type']   = $fileType;
    $projectFile['file_size']   = $fileSize;
    $projectFile['date']        = date('Y-m-d H:i:s');

    $this->projectsModel->addFile($projectFile);
}

这是可行的,但有大量的错误。这些文件实际上是插入到数据库中的,但在我的控制台中,我有几十行错误:

A PHP Error was encountered 严重程度: 8192消息: preg_replace():不推荐使用/e修饰符,而是使用preg_replace_callback 文件名: core/Security.php 行号:512 A PHP Error was encountered 严重性: 8192 消息: preg_replace():不推荐使用/e修饰符,而是使用preg_replace_callback 文件名: core/Security.php 行号:513 A PHP Error was encountered 严重性: 8192 消息: preg_replace():不推荐使用/e修饰符,而是使用preg_replace_callback 文件名: core/Security.php 行号:512 A PHP Error was encountered 严重性: 8192 消息: preg_replace():不推荐使用/e修饰符,而是使用preg_replace_callback 文件名: core/Security.php 线路号码: 513

我可以在这里放更多的错误。因此,我开始逐行调试,直到我到达:

代码语言:javascript
运行
AI代码解释
复制
$projectFile['file'] = $fileFinal;

将此行更改为:

代码语言:javascript
运行
AI代码解释
复制
$projectFile['file'] = null;

工作完美,我没有收到任何错误。

接收字段"file“的数据库中的列是mediumblob类型。

我必须重复一遍:即使有控制台错误,我的文件也被很好地插入到数据库中,但是,我的问题是在插入文件之后,我向$.post发送了一个$.post,而且由于它充满了错误,所以我无法正确地解析它。

EN

回答 1

Stack Overflow用户

发布于 2014-07-18 08:37:35

至少对我来说是个小虫子。我总是在我的更新和插入函数中使用xss_clean()函数。

代码语言:javascript
运行
AI代码解释
复制
$this->security->xss_clean($data);

这就是问题的原因。通过删除它,所有错误都消失了,这意味着file_get_contents()值不受此函数的欢迎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24829765

复制
相关文章
idea中运行jar程序
前言:今天在学习大数据中的项目的时候遇到了jar包。我之前就有看到在jdk中是有很多的jar包的。请看图如下。jdk中jar包确实很多,怪不得我们的程序都得以来jdk才能运行。
用户10271432
2022/12/19
1K0
idea中运行jar程序
解决xshell关闭jar停止运行的问题
在项目文件夹下新建一个txt文件,名字随意 运行 nohup java -jar xxx.jar >./temp.txt 2>&1 &
许喜朝
2020/11/09
1.7K0
制作可自运行的jar可执行文件
今天看到有人把Java的jar包制作成一个可执行文件,于是乎我也试了一把,确实也挺简单的,记录一下。
kongxx
2018/11/09
1.6K0
开发:异常收集之 运行jar包的问题
在本地cmd环境测试通过,放到linux服务器 发现运行java -jar XXX 失败
执笔记忆的空白
2020/12/25
4410
关于lr调用jar在vuser中可以运行,但是controller中却报错的问题
如题,错误如下:javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found 查找了很多地方,没有找到原因,很偶然的在一个帖子里面发现了上述错误,虽然不是loadrunner的。但还是拿来试了试。居然解决了这个问题。 方法:在java vuser中的init中加上如下两句话: System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");         System.setProperty("javax.xml.parsers.SAXParserFactory","com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl");
流柯
2018/08/30
8780
elasticsearch - Lucene分片内部逻辑
在一个分片中(Lucene),数据(数据原文和倒排索引)以段为单位存储,只有成为段的数据才能被检索。
执生
2020/11/13
8640
elasticsearch - Lucene分片内部逻辑
如何直接运行jar包_怎么运行jar文件
nohup:不挂断地运行命令,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中
全栈程序员站长
2022/11/10
2.7K0
运行 jar 出现"中没有主清单属性"
在运行通过 “java -jar xxx.jar” 的时候, 报 “中没有主清单属性” 错误.
芥末鱿鱼
2022/05/05
7.2K0
windows 运行jar包 生成日志_jar包双击运行
然后修改文件的扩展名为 .bat 或 .cmd 两者在windows都是可以运行的
全栈程序员站长
2022/11/09
3K0
windows 运行jar包 生成日志_jar包双击运行
Lucene&Solr&ElasticSearch-面试题
Lucene是apache下的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。官网地址:https://lucene.apache.org/
java思维导图
2019/12/05
2.2K0
Lucene+Solr+ElasticSearch查询匹配优化
当我们在处理搜索业务时候,需求往往是灵活多变的,有时候我们需要精确匹配,有时候我们又需要全文检索,而有时候,我们又想匹配度高而且还能全文检索,这似乎是精确匹配和模糊匹配一个妥协的策略,没错这就是搜索引擎出现的目的,以往的数据库是没法解决这种问题的,数据库只能回答有,没有,存在,不存在,并不能在有和没有之间做一个完美的妥协,比如说能把最匹配最相关的结果放在topN,仅靠like模糊查询是解决不了这种问题的。 Apache Lucene这个强大的全文检索核心包,提供了搜索引擎的核心组件,通过相关性评分算法
我是攻城师
2018/05/14
1.3K0
springboot打包jar运行
修改pom.xml文件:  增加  <packaging>jar</packaging> 增加build配置:  <build>     <plugins>         <plugin>     
仙士可
2021/04/08
2.4K0
Centos后台运行jar
jar后台运行 nohup java -jar xx.jar >/dev/null & 此处的“>/dev/null”作用是将终端输出信息输出到空洞中,即不保存输出信息,若要查看输出信息需指定输出到那个文件,例如“>/xxx/yyy.out” ---- 关闭后台进程 先查看后台进程pid ps -aux 记住进程pid,然后kill命令关闭 kill [pid] 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pwc1996/article/de
庞小明
2018/07/06
1.9K0
怎么运行jar包
首先我们需要有一个Java环境,接着在命令行中使用java -jar命令即可。以下是基本操作的示例。
很酷的站长
2023/10/20
1.1K0
怎么运行jar包
Lucene、solr以及elasticsearch之间的区别和联系
Lucene是一套信息检索工具包,并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而solr和elasticsearch都是基于该工具包做的一些封装。
wuweixiang
2018/08/14
4.1K0
Lucene、solr以及elasticsearch之间的区别和联系
双击运行 jar 文件
运行,但是总归是麻烦些,要是能双击直接打开岂不是很方便,下面我们就来一起看看怎么操作吧
攻城狮杰森
2022/06/03
2.6K0
双击运行 jar 文件
linux运行jar的几种方式
&表达的意思是在后台运行。这种方式可以避免打断后程序停止的问题,但是避免不了关闭当前终端后程序停止的问题。
Libertyyyyy
2022/10/25
2K0
Could not load codec 'Lucene54'. Did you forget to add lucene-backward-codecs.jar?
将lucene的版本更新到6.4.2之后,运行时出现了这个异常,在maven中央仓库搜了下“ lucene-backward-codecs”找到了
johnhuster的分享
2022/03/29
5250
Could not load codec 'Lucene54'.  Did you forget to add lucene-backward-codecs.jar?
windows中启动 java -jar 后台运行程序
第一种需要一直开着dos界面: java -jar jar文件路径 第二种无需一直开着dos界面: 1.新建my-service.bat文件,内容如下: @echo off  START "my-service" javaw -jar science-0.0.1-SNAPSHOT.jar 2.然后直接运行my-service.bat文件即可
Java架构师必看
2021/10/18
4.9K0
点击加载更多

相似问题

Elasticsearch lucene查询

12

Lucene到Elasticsearch

13

Elasticsearch或Lucene

25

ElasticSearch中复杂的Lucene查询

10

grafana中的Elasticsearch lucene查询

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文