我不像是一个php开发人员,但我必须使用它,而我并不知道PHP如何在会话期间处理内存分配.
我正在开发一个请求HTTP身份验证的应用程序,一旦您登录,您可以通过一个漂亮的界面操作数据.
有人在另一篇文章中告诉我,我不应该在每次执行后关闭mysql数据连接,但我不知道这个连接在使用这个应用程序时是如何保留内存的,因为在服务器端我不知道PHP保留了什么记忆与否.
所以我的问题是我应该用一个单独连接到数据库,并永远不会关闭它(因为我永远不会知道当应用程序在不使用或者我应该站在我今天做:打开连接 - >执行语句 - - >关闭连接.
PS:我正在使用mysqli
编辑1:
我的应用程序设计具有MVC模式含义:
|''''''''''| |'''''''''''''| |''''''''''''''|
| view.php | ==> | control.php | ==> | database.php |
|----------| |_____________| |______________|
Run Code Online (Sandbox Code Playgroud)
该模式允许视图仅与数据交互control.php,然后将数据从database.php调用到数据SELECT或EDIT数据.你给我的解释,我应该说:
public function __destruct(){
mysql_close($this->connection);
}
Run Code Online (Sandbox Code Playgroud)
在内部database.php,但是当需要选择或修改数据时,该页面会加载,因此它仅在短时间内执行,这意味着它仍将在请求结束时关闭连接.
这给出了一个更精确的问题,即我应该在哪里提供您提供的代码的安静,或者我的模式在PHP中是否相关?
我有 spark 2.4.0 和 Hadoop 3.1.1。根据Hadoop 文档,要使用允许将镶木地板文件一致写入 S3 的新 Magic 提交器,我已在以下位置设置了这些值conf/spark-default.conf:
spark.sql.sources.commitProtocolClass com.hortonworks.spark.cloud.commit.PathOutputCommitProtocol
spark.sql.parquet.output.committer.class org.apache.hadoop.mapreduce.lib.output.BindingPathOutputCommitter
spark.hadoop.mapreduce.outputcommitter.factory.scheme.s3a org.apache.hadoop.fs.s3a.commit.S3ACommitterFactory
spark.hadoop.fs.s3a.committer.name magic
spark.hadoop.fs.s3a.committer.magic.enabled true
Run Code Online (Sandbox Code Playgroud)
使用此配置时,我最终遇到了异常:
java.lang.ClassNotFoundException: com.hortonworks.spark.cloud.commit.PathOutputCommitProtocol
Run Code Online (Sandbox Code Playgroud)
我的问题是双重的,首先我是否正确理解 Hadoop 3.1.1 允许一致地将镶木地板文件写入 S3?
其次,如果我理解得很好,如何从 Spark 正确使用新的提交者?
我不确定问这个问题的地方是否可以随意将我的问题转移到别处或关闭它.
有人告诉我,只有在浏览器上发生拖放等显式事件并为其提供文件句柄时,Javascript才能从磁盘写入和读取.
对于Mega(ex upload),当您单击下载时,您将直接将文件保存到磁盘,而不会被要求保存或安装任何扩展您的浏览器.
它是Javascript还是HTML 5的一个功能,因为在我看来这意味着在这种情况下可怕的安全问题.
编辑1:
所以我的问题是,Mega如何设法在磁盘上写入而不显示您的Save to浏览器对话框弹出并自行确定放置文件的位置
我有一个包含 url 编码字符串的数据框列,例如:
我想做这样的事情:
someDF.withColumn('newcol', URLDecoder.decode( col("mystring"), "utf-8" ))
someDF.show()
| mystring | newcol |
--------------------------------------------------
| ThisIs%201rstString | ThisIs 1rstString |
| This%20is%3Ethisone | This is>thisone |
| and%20so%20one | and so one |
Run Code Online (Sandbox Code Playgroud)
我应该怎么做这样的事情,我猜地图功能即将到来,但无法弄清楚如何使用它。
注意:这是一个示例,它不是创建多个替换语句的选项,因为还有许多其他编码字符和列表可能会有所不同,我想使用一种简单可靠的方法来做到这一点。
我想做点什么,但我不知道该怎么做.我有一个23 Mo的文件:
: (blah
:aaaaaaaaaaaaaaaaaaaa
(bbbbbbbbbbbbbbbbbbbb
: (bloh
cccccccc
dddddddd
...
Run Code Online (Sandbox Code Playgroud)
等等.我喜欢做的是删除所有行跳转"\n",除非\n后跟":("
所以最终文件将是:
: (blah :aaaaaaaaaaaaaaaaaaaa (bbbbbbbbbbbbbbbbbbbb
: (bloh cccccccc dddddddd
...
Run Code Online (Sandbox Code Playgroud)
我有几个想法要做,第一个是:
- 用sed 删除所有"\n"
- 替换所有":(" by "\n :("
但问题是文件是23MO我不知道如何在23mo的一行文件上管理这个.
第二个想法,但我仍然不知道如何做,是:
- 删除每个"\n",除非它匹配模式"\n :("
我不知道如何.
我只限于bash perl sed grep和awk作为ressource.
我真的很想得到你的意见.
祝你今天愉快.
我试图在<pre></pre>html标记内显示MySQL TEXT字段的内容.
为了实现这一点,我使用ajax调用
$.ajax({
type : 'POST',
url : webserviceFile,
data : {
action : "confFile",
id : id
},
success : function(data) {
$("#configFile").html(data);
},
error : function(e, f, g) {
return ("An error occure: " + e + "\n" + f + "\n" + g);
}
});
Run Code Online (Sandbox Code Playgroud)
在服务器端我有这段PHP:
switch($action) {
case 'confFile' :
$value = getConfigurationFile($_POST['id']);
echo "##$value##";
break;
}
Run Code Online (Sandbox Code Playgroud)
最后我的orignal html文件是:
<body>
<pre id="configFile" ondblclick='selectText( "configFile" )'></pre>
</body>
Run Code Online (Sandbox Code Playgroud)
所以脚本确实有效,现在我的问题是在Firefox IE8和Chromium上我的ajax结果前面有3个空格.例如,其中一个文件包含:
no config file+我添加的两个短划线以确保它不是来自我的PHP脚本,在我的<pre> …