这可能听起来像一个愚蠢的问题,但是:当使用它来提取php中的搜索查询中的关键字时,这会更快:
$keyword = preg_split('/[\s]+/', $_GET['search']);
Run Code Online (Sandbox Code Playgroud)
要么
$keyword = explode(' ', $_GET['search']);
Run Code Online (Sandbox Code Playgroud) 我正在研究有关mysqli准备好的陈述,我有两个问题.
在我阅读时,我发现准备好的语句的执行顺序如下所示:
$sql = 'SELECT image_id, filename, caption FROM images WHERE image_id = ?';
// connect to the database
$conn = ....
$stmt = $conn->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->bind_result($image_id, $filename, $caption);
// optional: get total of records in the result set
$stmt->store_result();
$numRows = $stmt->num_rows;
// loop through the result set
while ($stmt->fetch()) {
// code goes here...
}
or
// fetch the result for one record
$stmt->fetch()
// free & close
$stmt->free_result();
$stmt->close;
$conn->close();
Run Code Online (Sandbox Code Playgroud)
这是我的第一个问题:
在我阅读时,它还提到了以下内容:
如果未将结果绑定到变量,请使用$ row …
我已经测试了以下内容,但我想问一下,以防万一有差异。
我有一个容器,它是一个flex容器。这些项目具有 的属性flex: 1 1 100%。只是出于好奇的目的,我也进行了测试flex: 0 0 100%,但我没有注意到任何差异(也许有)。
我的问题是:如果flex-basis是 100%,那么其他 2 个属性值是什么还重要吗?
我做了我的研究,并能够复制我正在寻找的东西,很好 - 我只需要一个更具体的垂直,纯CSS,菜单的帮助.
我希望我的子菜单弹出窗口显示在一个非左侧的10px,li 就像在互联网上找到的大多数示例一样.我也在寻找最简单,纯粹的CSS菜单 - 没什么特别的.
这是我到目前为止所做的:
<div id="nav">
<ul class="top-level">
<li><a href="#">This is a long text</a>
<ul class="sub-level">
<li><a href="#">Sub Menu Item 1</a></li>
<li><a href="#">Sub Menu Item 2</a></li>
<li><a href="#">Sub Menu Item 3</a></li>
<li><a href="#">Sub Menu Item 3</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contact me here</a></li>
<li><a href="#">Help</a>
<ul class="sub-level">
<li><a href="#">Sub Menu Item 1</a></li>
<li><a href="#">Sub Menu Item 2</a></li>
<li><a href="#">Sub Menu Item 3</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我的css:
#nav {border:1px solid cyan;}
/* top level menu …Run Code Online (Sandbox Code Playgroud) 我开始使用 CSS 网格(非常棒!)。我从最基本的布局开始:移动布局。此外,随着网页的增长,我正在使用媒体查询来更改布局。
现在,我的布局由 3 个区域组成。确切的顺序是内容区、侧边栏区和评论区。该评论区是可选的,甚至有可能不会显示。区域之间有40px的间隙。
这是移动布局css
.grid {
display: grid;
grid-template-columns: 1fr;
grid-auto-rows: auto;
grid-gap: 40px;
}
Run Code Online (Sandbox Code Playgroud)
如果评论区不存在,评论区的间隙也不存在,这就是我想要的。
https://jsfiddle.net/p54od8ho/
当页面增长时,我正在更改布局,如下所示:
@media screen and (min-width: 768px) {
.content {
grid-area: content;
}
.sidebar {
grid-area: sidebar;
}
.comments {
grid-area: comment;
}
.grid {
grid-template-columns: 1fr 300px;
grid-template-rows: auto;
grid-template-areas:
"content sidebar"
"comment sidebar";
}
}
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/g20gtd4z/
40px的差距是因为评论区存在。
但是,当评论区不存在时会发生这种情况:
https://jsfiddle.net/6Lfg55my/1/
如果您注意到,即使评论区不存在,40px 的差距也存在。
我相信一个解决方案是创建一个类,只是为了删除评论区。
.grid.no_comment {
grid-template-areas:
"content sidebar"
". sidebar";
}
Run Code Online (Sandbox Code Playgroud)
必须有更好更简单的方法(或者可能没有)。有没有办法,只使用网格选项,当评论区不存在时,差距也消失了?
给定以下结构,我想从列表 (ul) 中选择第一级子级 (li),而不是嵌套列表。
ul.list > li {
background-color: red;
}Run Code Online (Sandbox Code Playgroud)
<ul id="list" class="list">
<li>first level</li>
<li>first level</li>
<li>
<h1></h1>
<div>
<ul>
<li>second level</li>
<li>second level</li>
</ul>
</div>
</li>
<li></li>
</ul>Run Code Online (Sandbox Code Playgroud)
( JSFiddle )
但这也会选择 div 中的项目 (li)。
我想仅使用ONE css RULE选择第一级儿童 (li) 。如何?
我是数据库的唯一管理员.我想运行一次性脚本,基本上需要大约3800个扫描图像(它将增长到10万)并使用PHP exec()函数为每个图像创建几个缩略图来执行外部程序imagemagick来创建那些缩略图.
我创建了脚本,启动它,一切都完美无缺!一切都在我的本地开发服务器上完成.该脚本大约需要11分钟来创建数千个缩略图.这是每隔一年运行一次的操作,因此后果很少.
到现在为止还挺好.这是我遇到问题的时候.
我在本地开发服务器上所做的一切,我在实时服务器上进行测试.我有hostgator的共享主机帐户.在共享主机上运行我的11分钟长脚本会给出错误"超过30秒的最大执行时间...".我做了我的研究,尝试了这篇文章中的许多解决方案(增加php的最大执行时间),只是为了意识到我无法改变共享主机上脚本的最大执行时间.
我被卡住了.所以,我的问题是这里显而易见的解决方案是什么.
我正在考虑为每200张图像启动脚本,自动刷新页面并为接下来的200张图像再次运行脚本,依此类推,直到没有更多图像为止.这样我就可以确定我的共享主机上允许的最长执行时间是30秒.它看起来像是一个解决方案,但我不确定这是否是否定,如果我将遇到更大的问题,太多的负面影响..
这是明显的解决方案吗?有人遇到同样的问题吗?你们有什么建议的?
谢谢
使用时从php表单上传文件
<input name="xxx" type="file">
Run Code Online (Sandbox Code Playgroud)
是否有必要使用php函数is_uploaded_file来检查它是否是通过PHP的HTTP POST上传机制上传的?
我已经阅读了有关该功能的所有内容,我看不到它的用途?我错了吗?
在它说的PHP文档中
如果通过HTTP POST上传由filename命名的文件,则返回TRUE.这有助于确保恶意用户没有试图欺骗脚本处理不应该工作的文件
但是,上传文件的主要功能move_uploaded_file也会检查它是否是有效文件
此函数检查以确保filename指定的文件是有效的上载文件(意味着它是通过PHP的HTTP POST上载机制上传的).如果文件有效,它将被移动到目标给出的文件名.
所以,我的问题如下:
是否真的有必要使用is_upload_file,如果推测,move_uploaded_file已经检查了恶意内容?
// if artwork file upload correctly, continue!
if ($_FILES['artwork']['error'][0] == 0) {
// check if the artwork file was uploaded via HTTP POST to prevent a malicious attack
if (is_uploaded_file($_FILES['artwork']['tmp_name'][0])) {
// move files
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个表'release_group'和另一个表'release',如下所示:
release_group
------------------------
release_group_id (PRIMARY KEY)
name
main_release_id (FOREIGN KEY)
release
------------------------
release_id (PRIMARY KEY)
release_group_id (FOREIGN KEY)
name
Run Code Online (Sandbox Code Playgroud)
如果我创建了一个发布行,则release_group_id不可用,只是因为尚未创建它.但是我不能在没有main_release_id的情况下创建release_group行.所以这是一种不可能的情况.
编辑:release_group中的main_release_id是说该版本是该组的主要版本,我将使用一个引用.
处理此案件的专业方式是什么?
1.删除表release_group中的外键索引 main_release_id,并赋予属性ALLOW NULL.创建release_group行,以便我可以在发布行中应用它的id.
2.将'main_release_id'外键索引保留在表'release_group'中,并为其分配一个临时整数值0.创建发布行并相应更新release_group中的外键?请记住,如果这是要走的路,我可能最终无意中拥有值为0的外键,我不知道数据库中是否存在这种道德规范?
处理此案件的专业方式是什么?
谢谢
我有以下表格:
<form id="f-comment" class="form" method="post" action="submit_img_comment.php">
<textarea name="comment"></textarea>
<input type="submit" value="Publish" data-params='{"imageid":<?php echo $imageid; ?>}'>
</form>
Run Code Online (Sandbox Code Playgroud)
和以下javascript:
$(document).on("submit", ".form", function(e) {
e.preventDefault();
// what form are you submitting?
var form = $("#" + e.target.id);
var data = new FormData(this);
var params = $("input[type=submit]", this).data("params"); // parameters to send along with data
data.append("params", params);
// data is ok
console.log(params)
$.ajax({
type: form.attr("method"),
url: "include/" + form.attr("action"),
data: data,
dataType: "json",
contentType: false,
processData: false,
cache: false
}).done(function(data) {
alert(data['msg']);
}).fail(function(data) { …Run Code Online (Sandbox Code Playgroud)