我编写了一个类来检测cURL是否可用,如果它是使用cURL执行GET,POST,DELETE.在cURL版本中,我curl_getinfo($curl, CURLINFO_HTTP_CODE);用来获取HTTP代码.如果cURL不可用,则使用fopen()来读取文件内容.如何在没有cURL的情况下获取HTTP头代码?
我是处理大量数据的新手。我想知道批量查询数据库时是否有任何最佳实践,或者是否有人可以提供任何建议。
我有一个查询将提取所有数据,并使用 PHP 将数据写入 XML 文件。数据可能在 10 到 500,000 行之间,因此我编写了脚本以 50 行为一组提取数据,写入文件,然后获取接下来的 50 行,将其附加到文件等。这样可以吗?或者我应该做点别的事情?我可以增加批处理大小还是应该减少它以使脚本运行得更快?
任何建议将不胜感激。
我被要求使用PHP将网站与FedEx集成.我不知道从哪里开始.我已经注册了一个测试帐户,我已经下载了唯一的示例代码.这引用了.wsdl文件,但示例代码实际上不包含该文件.我在文档中的任何地方都找不到这个文件的位置.有人可以帮忙吗?如果我能在本周的某个时候获得与API的连接,我会很高兴.
// Copyright 2009, FedEx Corporation. All rights reserved.
// Version 2.0.0
require_once('../library/fedex-common.php5');
//The WSDL is not included with the sample code.
//Please include and reference in $path_to_wsdl variable.
$path_to_wsdl = "../wsdl/LocatorService_v2.wsdl";
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient($path_to_wsdl, array('trace' => 1)); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information
$request['WebAuthenticationDetail'] = array('UserCredential' =>
array('Key' => getProperty('key'), 'Password' => getProperty('password')));
$request['ClientDetail'] = array('AccountNumber' => getProperty('shipaccount'), 'MeterNumber' => getProperty('meter'));
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Locator Request v2 using PHP ***');
$request['Version'] = array('ServiceId' …Run Code Online (Sandbox Code Playgroud) 我正在使用同位素插件(http://isotope.metafizzy.co/)和无限的ajax滚动插件(https://github.com/webcreate/infinite-ajax-scroll).无限卷轴与同位素过滤效果很好,但是,我想在应用过滤器时将更多项目加载到容器中,以便始终显示50个项目.
我有下面的代码,但我坚持用ajax加载新项目.
因此,每次选择过滤器时,我都会计算当前显示的项目数量.然后我需要一种方法来使用ajax获取更多项目并调用相同的页面(index.php).我想我需要做一些类似于无限ajax滚动插件的东西,以获得下一页的结果.我对JQuery没有经验,所以我很难弄清楚他们的代码究竟在做什么,以及如何为我的过滤实现类似的东西.
我尝试过使用$ .get但是这会在容器中加载整个index.php页面而不是仅仅获取结果.
如果有任何帮助,我将不胜感激.
<?php
require_once('config/config.php');
$cat = (isset($_GET['cat']) ? urldecode($_GET['cat']) : '');
$type = (isset($_GET['type']) ? urldecode($_GET['type']) : '');
//get filter lists
$categories = StoreDiscounts::getCategories();
$types = StoreDiscounts::getDiscountTypes();
//get total number of discounts for search
$total_items = StoreDiscounts::countitems($cat, $type);
//pagination - infinate scrolling
$pagelimit = 50; //items per page
$page = (int) (!isset($_GET['p'])) ? 1 : $_GET['p'];
$start = ($page * $pagelimit) - $pagelimit;
$limit = $pagelimit * $page;
if ($total_discounts > ($page …Run Code Online (Sandbox Code Playgroud) 我有一个左侧菜单,悬停时有一个弹出子菜单。在平板电脑/手机上,我的菜单通过切换按钮折叠。这一切都很好。
问题是单击事件不适用于具有子菜单的菜单项。我需要在移动设备上单击时显示/隐藏子菜单。因此,当单击第 1 项时没有任何反应,但第 2 项有效且子菜单链接有效。难道是带链接的可以用而带#的不行吗?
$(function() {
//behaviours depending on screensize
function checkScreenSize() {
var width = $(window).width();
/*MOBILE*/
if (width < 991.98) {
$('#primary-menu li').click(function() {
console.log('test 1');
$(this).children('.sub-menu').slideToggle();
});
//does not work
$('#primary-menu > li').on('click', function() {
console.log('test 2');
$(this).children('.sub-menu').slideToggle();
});
//does not work
//show submenu
$('#primary-menu li').on('click', function() {
console.log('test 3');
var submenu = $(this).children('.sub-menu');
$(submenu).show();
});
//does not work
$('#primary-menu li > .sub-menu').parent().click(function() {
console.log('test 4');
var submenu = $(this).children('.sub-menu');
var current = $(this).hasClass("current-menu-item");
$(submenu).show(); …Run Code Online (Sandbox Code Playgroud)我有以下错误.我怎么能抓到这个错误?
致命错误:未捕获OAuthException:验证访问令牌时出错:用户638720122未授权应用程序207445576002891.在第1039行的/var/www/clients/client1/web12/web/socialmediaping/fblibrary/base_facebook.php中引发
我有以下代码片段,我相信我会尝试管理错误.
// Attempt to query the graph:
$graph_url = "https://graph.facebook.com/me?"
. "access_token=" . $access_token;
$response = curl_get_file_contents($graph_url);
$decoded_response = json_decode($response);
//Check for errors
if ($decoded_response->error) {
$facebookAuth = FALSE;
}
Run Code Online (Sandbox Code Playgroud)
如果$ facebookAuth == FALSE,我将用户重定向到facebook以进行身份验证,但这不起作用,那么我应该怎么做?
非常感谢您的帮助.
我正在尝试获取包含数字的变量的总数,有些可能是小数。我需要这是两位小数,并且正在使用 number_format() 函数。
$total = $order->order->net+$order->order->deductions+$order->order->vat+$order->order->postage+$order->order->postage_tax;
echo number_format((float)$total, 2, '.', '');?>
Run Code Online (Sandbox Code Playgroud)
我注意到以下值加起来不正确,似乎忽略了小数。总数应该是 118.50,但我得到了 118.00。
100+0+17.5+1+0
我对此进行了研究,并找到了以下内容
http://floating-point-gui.de/basic/
我有点困惑。谁能解释一下我需要做什么?
*编辑 下面是 $order 变量的转储,显示了我试图加起来的数字。您可以看到 17.5 是 17.5 而不是 17。是否因为它们被指定为字符串?
object(SimpleXMLElement)#12 (21) { ["id"]=> string(6) "922704" ["shopkeeper_orderno"]=> string(4) "1001" ["customer"]=> string(6) "797893" ["creationdate"]=> string(16) "29-05-2012 11:55" ["net"]=> string(3) "100" ["vat"]=> string(4) "17.5" ["status"]=> string(1) "1" ["isnew"]=> string(1) "0" ["deductions"]=> string(1) "0" ["postage"]=> string(1) "1" ["paymentmethod"]=> string(20) "PayPal " ["instructions"]=> object(SimpleXMLElement)#17 (0) { } [2]=> object(SimpleXMLElement)#22 (1) { ["items"]=> object(SimpleXMLElement)#30 (9) { ["id"]=> …
我正在构建运费计算器,我需要API响应中的服务代码,描述和价格.我注意到我从未得到以下答复:/ RatingServiceSelectionResponse/RatedShipment/Service/Description - 但我得到了价格和服务代码的回复.
我联系了有关此的支持,他们说,"不幸的是,服务的描述(在响应内部)仅在我们的Time in Transit API中可用"
如果没有提供服务描述的Rates API,这似乎很奇怪,没有这些信息似乎有点无用.
有没有人知道是否有任何方法使用从Rates API返回的服务代码查找服务描述?
任何有关这方面的帮助将非常感激.
我正在使用带有过滤功能的infinite-ajax-scroll(https://github.com/webcreate/infinite-ajax-scroll)插件。我可以使用无限滚动的过滤器,但是我的问题是,每当滚动获得一个过滤器结果的结尾时,即使选择了另一个过滤器,它也将不再滚动。因此,当选择过滤器时,我需要重设无限滚动,但我在文档中找不到有关如何重设无限滚动的信息,并且对JQuery不太满意,因此无法弄清楚。
我也有某些不需要启动滚动的过滤器,并且还需要一种禁用这些滚动的方法。
$('.filter a').click(function() {
//reset scroll somehow
//setTimeout("jQuery.ias({container: '#container'})",1000);
var $this = $(this);
var URL = $this.attr('href');
loadMoreItems(URL, $this);
});
return false;
});
jQuery.ias({
container: '#container', // main container where data goes to append
item: '.element', // single items
pagination: '.paginate', // page navigation
next: '.paginate a', // next page selector
loader: '<img src="public/img/ajax-loader.gif"/>',
noneleft: 'No more discounts for your selection',
triggerPageThreshold: '10',
trigger: "Load more items",
history: false,
thresholdMargin: -350
});
Run Code Online (Sandbox Code Playgroud) 我正在使用 Node Webkit 创建桌面应用程序。我现在需要创建一个可执行文件,因此安装了以下内容:https : //github.com/nwjs/nw-builder
我正在努力理解说明,尤其是命令行内容。文档说明如下:
用法:nwbuild [选项] [路径]
选项: -p, --platforms 构建的平台, 逗号分隔, 可以是: win32,win64,osx32,osx64,linux32,linux64 ['osx32', 'osx64', 'win32', 'win64'] -v, --version 新版本,例如。0.8.4
[default: "latest"] -r, --run 为当前平台运行 NW.js [默认: false] -o, --buildDir 构建文件夹 [默认: "./build"] -f, --forceDownload 强制下载 NW.js
[默认:false] --cacheDir 缓存文件夹 --quiet
禁用日志记录
[默认:false]
我有两个文件夹,一个包含应用程序文件和 package.json,另一个文件夹包含所有 NW 文件。我还创建了第三个文件夹,将这两个文件夹合并,并将应用程序的 .zip 文件更改为 .nw 文件。
我从哪里运行 buildDir 命令?
确切的命令是什么?我尝试了以下命令:
nwbuild -o build
nwbuild --buildDir /build
nwbuild -o, --buildDir /build
Run Code Online (Sandbox Code Playgroud)
但都回来显示上述使用信息,没有一个文件夹包含 /build/ 文件夹
有人可以帮忙吗?非常感谢
php ×6
api ×3
ajax ×2
jquery ×2
command-line ×1
curl ×1
fedex ×1
filtering ×1
html ×1
http-headers ×1
javascript ×1
jquery-ias ×1
mysql ×1
node-webkit ×1
nw.js ×1
rates ×1
ups ×1
web-services ×1
windows ×1
wsdl ×1