我有以下代码:
$('#my-button').on('click change', function(event) {
alert("Who fired me, click or change?");
});
Run Code Online (Sandbox Code Playgroud)
我怎么知道所谓的事件是"点击"还是"改变"?
我有一个服务器,在各种文件夹,子文件夹和子子文件夹中有很多文件.
我正在尝试创建一个search.php页面,用于在整个服务器中搜索特定文件.如果找到该文件,则返回位置路径以显示下载链接.
这是我到目前为止所拥有的:
$root = $_SERVER['DOCUMENT_ROOT'];
$search = "test.zip";
$found_files = glob("$root/*/test.zip");
$downloadlink = str_replace("$root/", "", $found_files[0]);
if (!empty($downloadlink)) {
echo "<a href=\"http://www.example.com/$downloadlink\">$search</a>";
}
Run Code Online (Sandbox Code Playgroud)
如果文件在我的域名的根目录内,脚本工作正常...现在我正在尝试找到一种方法使它也扫描子文件夹和子子文件夹,但我被困在这里.
我使用PHP PDO访问具有各种模式的PostgreSQL数据库,所以首先我创建一个连接,然后我设置正确的模式,如下所示:
$Conn = new PDO('pgsql:host=localhost;port=5432;dbname=db', 'user', 'pass');
$result = $Conn->exec('SET search_path TO accountschema');
if ( ! $result) {
die('Failed to set schema: ' . $Conn->errorMsg());
}
Run Code Online (Sandbox Code Playgroud)
这是一个好习惯吗?有一个更好的方法吗?
我已经按照教程在PHP中创建了一个简单的博客编写应用程序,并修改了本教程中的类,以便它们具有其他功能.修改这个非常简单的骨骼应用程序让我更好地理解PHP的工作方式,但是我遇到了一个有趣的情况.
我项目中的一个类有大约六个类属性,如public $id, public $author, public $post
.这些属性是在这个类的开头声明的,但是我发现如果删除除了其中一个属性之外的所有属性,应用程序仍然可以正常运行.
public $datePosted
如果此类仍然将变量分配给此属性,则从类的开头删除属性声明是错误的,如下所示:$this->datePosted = $someVariableName;
如何查看foreach的当前迭代并执行某些操作?
{foreach $new_products as $product name=foo}
{if $smarty.foreach.foo.iteration=5}
Do it!
{/if}
{/foreach}
Run Code Online (Sandbox Code Playgroud)
这总是返回未检查
我有一个动态创建的下面的列表:
<ul>
<li>20</li>
<li>10</li>
<li>5</li>
<li>3</li>
<li>32</li>
<li>25</li>
<li>6</li>
<li>12</li>
<li>8</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
是否可以使用jQuery订购此列表?我需要它从低到大排序,像这样:
<ul>
<li>3</li>
<li>5</li>
<li>6</li>
<li>8</li>
<li>10</li>
<li>12</li>
<li>20</li>
<li>25</li>
<li>32</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我正在尝试运行 SQL 查询以获取四个随机项目。由于表中product_filter
有多个touple,product
我必须使用DISTINCT
in SELECT
,所以我收到此错误:
对于 SELECT DISTINCT,ORDER BY 表达式必须出现在选择列表中
但如果我把它放在RANDOM()
我的SELECT
里面,它会避免DISTINCT
结果。
有人知道怎么DISTINCT
用这个RANDOM()
函数吗?下面是我有问题的查询。
SELECT DISTINCT
p.id,
p.title
FROM
product_filter pf
JOIN product p ON pf.cod_product = p.cod
JOIN filters f ON pf.cod_filter = f.cod
WHERE
p.visible = TRUE
LIMIT 4
ORDER BY RANDOM();
Run Code Online (Sandbox Code Playgroud) 阅读Google Developers PHP性能提示我看到不建议制作变量的额外副本.
而不是这个:
$description = strip_tags($_POST['description']);
echo $description;
Run Code Online (Sandbox Code Playgroud)
它推荐这个:
echo strip_tags($_POST['description']);
Run Code Online (Sandbox Code Playgroud)
原因是可能不必要的内存消耗.
但是做了一些搜索,我看到一些反驳说PHP实现了"copy-on-write"内存管理.这基本上意味着我们可以为我们喜欢的变量分配一个值,而不必担心实际复制的数据.
所以,我想知道,如果在更复杂的情况,其中,例如$_POST
或$_GET
变量将在代码中的很多地方都可以使用,无论是更好的做法是使用或不使用额外的变量,考虑到这些标准:
1)安全
2)维护/可读性
3)表现
编辑1
我将使用下面的示例来更好地说明问题.
这种代码更好(考虑上面的标准):
$user = anti_injection($_POST['user']);
$pass = anti_injection($_POST['pass']);
// Continue the code using $user and $pass
Run Code Online (Sandbox Code Playgroud)
或这个?
$_POST['user'] = anti_injection($_POST['user']);
$_POST['pass'] = anti_injection($_POST['pass']);
// Continue the code using $_POST['user'] and $_POST['pass']
Run Code Online (Sandbox Code Playgroud) 我有以下查询:
select
title,
( stock_one + stock_two ) as global_stock
from product
order by
global_stock = 0,
title;
Run Code Online (Sandbox Code Playgroud)
在PostgreSQL 8.1.23中运行它我收到此错误:
查询失败:错误:列"global_stock"不存在
有人可以帮我把它投入使用吗?我首先需要可用的项目,然后是不可用的项目.非常感谢!
我必须使用关联数组传递一些参数,如下所示:
$blockGroup['name=products type=complete']
Run Code Online (Sandbox Code Playgroud)
做一些测试我发现它有效,但这是一个不好的做法?是否有可能产生任何错误或意外行为?
谢谢你的任何建议!
编辑1
我在视图实现中使用这个数组,完整的结构是:
$blockGroup['name=products type=complete'][] =
array(
'name' => 'GeForce',
'value' => '99.99'
);
Run Code Online (Sandbox Code Playgroud) php ×5
postgresql ×3
sql ×3
jquery ×2
arrays ×1
dom ×1
events ×1
file ×1
foreach ×1
glob ×1
html-lists ×1
javascript ×1
list ×1
optimization ×1
pdo ×1
performance ×1
search ×1
select ×1
smarty ×1
sorting ×1