我正在开发一个非常复杂的项目,所以我想使用一个有意义的文件/文件夹结构.
我想要的文件夹/文件结构是:
.htaccess
/php/
/assets/
Run Code Online (Sandbox Code Playgroud)
我想要有人们可以访问的网页:
/php/views/pages/
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以将.htaccess其设置/php/views/pages为"可查看的根",例如,当人们访问时http://mydomain.com/他们将会查看http://mydomain.com/php/views/pages/index.php,如果是这样,我将如何进行此操作?
此外,是否可以规范化所有访问/php/views/pages使用.htaccess和301重定向以阻止多个链接在搜索引擎中编入索引?
我看到很多人使用各种不同的方法来检查变量是否为空,确实似乎没有达成共识.我听说这if($foo)和if(!empty($foo))or 完全相同if($foo != "").这是真的?
我意识到这是一个非常简单的问题,但我真的很想知道.有什么不同吗?我应该使用哪种方法?
出于某种原因,在使用PHPMyAdmin并尝试保存表时,即使我输入了我通常所做的所有信息,我也会收到一个警告框,其中包含"表单中缺少值!"的内容.
这是我的PHPMyAdmin控制台的屏幕截图(由于分辨率合并了2个屏幕):
到目前为止我尝试过的:
VARCHAR为长度为255(deindeal_id列除外,其INT长度保持不变12).description在""(bacticks)中,认为它可能是某种类型的保留词.我真的很难过会导致这个问题,所以任何答案都会非常感激!
我正试图通过我的应用程序的测试用户帐户上的Graph API将照片上传到Facebook.只有url, link, name参数存在,上传工作正常返回有效的照片ID.
但是,如果我使用附加tags参数,我最终会返回以下错误:
{
"error": {
"message": "(#100) param tags must be an array.",
"type": "OAuthException",
"code": 100
}
}
Run Code Online (Sandbox Code Playgroud)
我试图以tags几乎所有我能想到的方式提供价值,因为我知道Graph API并不简单(甚至url用于从URL上传照片的参数也没有在photo图表下列出API方法);
单个用户ID
tags=100003919104407
多个CS'd用户ID
tags=100003919104407,100003919104408,100003919104409
数组的id不是整数
tags=[100003919104407, 100003919104404,100003919104405]
将id作为字符串的数组
tags=["100003919104407", "100003919104404","100003919104405"]
包含对象的数组,根据Facebook Graph API文档
tags=[{"id":"100003919104407"},{"id":"100003919104404"},{"id":"100003919104405"}]
如果有人能告诉我正确的格式/另一个传递用户ID的参数,以便在照片中标记它们,我将非常感激.
这是一个通过示例最好地说明的问题:
用户进入站点A,并点击进入站点B.引用站点现在是站点A.同一用户从站点B 点击到站点C.引用站点现在是站点B.
我想知道是否可以将站点C的引用站点显示为站点A(如果您愿意,则为初始引用者).
为什么我喜欢这个(更多背景)?
我正在使用定位软件(站点B),它将重定向到真正的目标(站点C).由于我将链接到此定位软件而不是最终目的地,因此Google Analytics会将所有推介注册为定位软件,这将完全无法跟踪引荐网站的目的.
我希望能够通过"实际"推荐人(网站A),以查看网站C的访问实际来自哪里.
如果可能的话,我想在没有"黑客"或"变通方法"的情况下做到这一点,这些"黑客"或"变通方法"很容易破坏.
在花了最后45分钟寻找解决方案之后,我似乎找不到使用PHP和jQuery创建倒数计时器的简单解决方案.我发现的大多数已经构建的脚本纯粹基于jQuery,它需要大量的代码,然后它们应该有更多的参数,而且适应性非常难.
这是我的情况;
PHP:
$countdown = date("h:i:s"); // This isn't my actual $countdown variable, just a placeholder
jQuery的:
$(document).ready(function name() {
$("#this").load( function() {
setTimeout("name()", 1000)
}
}
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<div id="this"><?php echo($countdown); ?></div>
我的想法是,每一秒#this都重新加载,为它的内容赋予一个新值,并且由于$ countdown不是静态变量,每次都会加载一个新值.这消除了处理会话的需要(因为基本的javascript倒数计时器会在页面加载时重置等).
我会尽管这会有用,直到我意识到事件活页夹.load()没有重新加载#this(我知道我很傻),所以我想我想知道的是 - 是否有一个事件活页夹我可以用它来完成这项工作或者有没有办法获得我正在寻找的功能,而不使用jQuery插件(它完全不符合我想要的)?
当我开始开发时,我遵循了总是使用{}(花括号)来封闭块的教程.但是,当我开始查看其他人的代码(例如GitHub上的类,或者通常只是基本教程所显示的代码)时,我也看到了块语句而没有被包含在内{},例如;
if($var < 15)
$string = 'Hello, Jimmy!';
elseif($var >= 15)
$string = 'Hello, Anne!';
Run Code Online (Sandbox Code Playgroud)
是相同的
if($var < 15) {
$string = 'Hello, Jimmy!';
} elseif($var >= 15) {
$string = 'Hello, Anne!';
}
Run Code Online (Sandbox Code Playgroud)
我从来没有使用过没有封闭的块{},但是我今天使用它们并且我开始看到这样做的效率(它看起来也很清晰,因为我经常发现我的功能充满了{}循环,条件等等) .
我问的是;
a)没有花括号的块有任何限制(;我注意到在输入单行后我的IDE从缩进中退回并在if()条件后返回?
b)在不使用时,是否有最佳实践{}?
任何答案,特别是那些公司.关于块大括号使用惯例的背景/文档与不使用它们将非常感激,因为我真的想了解花括号的用法:)!
我刚开始在Chrome开发者工具中使用控制台(一般来说是Javascript的新手).我注意到,当我连续两次记录相同的变量(在这种情况下是一个对象)时,日志会堆叠它并在其旁边放置一个小数字图标.我点击这个想法,我将能够看到该对象两次(因为它已被更新两次),但没有任何反应.
图片以获得更多说明:

正如您所看到的,Object下拉列表旁边的蓝色圆圈中有一个"2" .第一个日志将Object.num在3,第二个在4,但我能看到的只是第二个.
任何关于如何看到两个日志的答案将不胜感激.
:).
我正在使用YouTube/Google API,对于特定视频的上传日期,会返回以下格式格式化的时间/日期:
2012-05-16T17:15:29.000Z
我不确定这是什么格式,但我想知道是否有一种简单的方法(例如使用DateTime())将其转换为dd/mm/yyyy的格式?
任何提及时间格式的提法也将受到赞赏;).
出于某种原因,我似乎无法通过cURL获取此特定网页的内容.我已经设法使用cURL来获得"顶级页面"内容,但是相同的自建快速cURL功能似乎不适用于其中一个链接的子网页.
顶级页面: http://www.deindeal.ch/
子页面: http://www.deindeal.ch/deals/hotel-cristal-in-nuernberg-30/
我的cURL函数(在functions.php中)
function curl_get($url) {
$ch = curl_init();
$header = array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Accept-Language: en-us;q=0.8,en;q=0.6'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13',
CURLOPT_HTTPHEADER => $header
);
curl_setopt_array($ch, $options);
$return = curl_exec($ch);
curl_close($ch);
return $return;
}
Run Code Online (Sandbox Code Playgroud)
PHP文件获取内容(使用echo进行测试)
require "functions.php";
require "phpQuery.php";
echo curl_get('http://www.deindeal.ch/deals/hotel-walliserhof-zermatt-2-naechte-30/');
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已尝试以下方法来实现此功能
curl_get()包含所有选项之前,除了CURLOPT_USERAGENT andCURLOPT_HTTPHEADERS`之外.是否有可能通过cURL或其他远程文件打开机制完全阻止请求,无论提供多少数据来尝试发出真正的浏览器请求?
此外,是否有可能诊断为什么我的请求没有出现?
任何帮助回答上述两个问题,或编辑/提出获取文件内容的建议,即使通过不同于cURL的方法,也将非常感谢;).