小编The*_*Rat的帖子

使用Google Chrome扩展程序访问本地文件

我之前曾问过类似的问题

与网站的现金抽屉沟通

然而问题非常模糊,我现在知道我需要的是使用扩展名.

这个问题与以下类似,但不完全是我需要的信息.

Chrome扩展程序和本地存储

通过Google Chrome扩展程序访问本地文件?

列出具有chrome扩展名的本地目录

我真正需要做的是从我的网站上运行用户计算机上的bat文件.该站点的用户将是公司的员工,他们将使用的计算机将由我们提供,因此我可以对机器进行任何必要的更改,以便在运送给用户之前使用.

我了解您可以在计算机上创建一个允许chrome访问的本地文件夹,从而保持安全性.我已经搜索了如何做到这一点,但似乎无法确定我需要搜索的内容,尤其是我需要帮助的地方.

http://developer.chrome.com/apps/fileSystem

我还没有建立扩展,但我愿意接受挑战,所以我不需要这方面的帮助.下面的两个指南似乎不仅仅是充足的.

http://lifehacker.com/5857721/how-to-build-a-chrome-extension

http://css-tricks.com/colorpeek-part-2-building-first-chrome-extension/

这是我目前所在的地方.

{
  "name": "Open Till",
  "version":"1",
  "manifest_version": 2,
  "description": "Allow POS Users to Open their Till",
  "browser_action": {
    "default_icon": "icon.jpg"
  }
}
Run Code Online (Sandbox Code Playgroud)

我接下来需要实现的是创建一个命令来调用扩展,然后扩展导航到chrome可以访问的本地文件夹,然后执行批处理文件.

我意识到我可以通过使用npapi插件来解决对chrome文件夹的需求

https://developer.chrome.com/extensions/npapi

然而,这显然是一个潜在的雷区,所以我不想这样做.

如果有人能指出我如何创建文件夹和访问文件的正确方向,这将是非常感谢.

google-chrome google-chrome-extension

18
推荐指数
1
解决办法
2万
查看次数

与网站的现金抽屉沟通

我目前正在为我的公司建立一个POS解决方案.最难的部分是购买现金抽屉,因为我没有太多的经验,他们更喜欢USB现金抽屉.我找到了一个我感兴趣的模型

CR-4005

http://www.thebarcodewarehouse.co.uk/epos-systems/cash-drawers/cr-4005-b/

供应商包括可在此处找到的驱动程序

http://www.posiflexusa.com/driver.php

这允许您使用dll文件打开抽屉等.给出的代码示例如下:

Public Declare Function OpenUSB Lib "usbcr.dll" () As Long
Run Code Online (Sandbox Code Playgroud)

我对C有一点经验但是谷歌我确信我可以把这一部分搞清楚.

我遇到的问题是该解决方案实际上是一个非现场托管的网站,我需要做的是从网站发布命令到使用它的客户端机器.因此,当他们完成销售时,我可以打开该特定机器的抽屉.

我需要澄清的是我是如何做到这一点的.例如,我假设我在客户端计算机上安装驱动程序并插入现金抽屉.然后,当他们访问该站点时,我需要执行上面显示的C命令来打开抽屉.我遇到的问题是如何解决这个问题.当然,如果我在服务器上执行命令,它将有效地查看服务器USB端口并尝试打开抽屉.而不是将命令发送到客户端机器.因此,为了解决这个问题,有可能在客户端机器上有c文件然后我只是使用类似的东西调用网站上的文件

C:\Windows\execute.bat
Run Code Online (Sandbox Code Playgroud)

它反过来调用客户端计算机上的c文件.

我知道我没有提供很多信息,因为我想在进行购买之前弄清楚这一点,我可能过于复杂,但任何指针或信息都会非常感激.此外,我还没有完全按照这个模型设置,所以如果您知道一些有良好文档或现有解决方案的替代方案,我也对此持开放态度.

笔记

我知道有一个可能的解决方案,使用chrome api调用

我可能会安装xampp并创建一个简单的php文件,调用exe来完成必要的工作.因此,访问客户端计算机上的本地地址可能是另一个潜在的想法(即127.0.0.1/open.php).

更新

我的网站包括POS方面的东西已经建成并准备好了.这是使用PHP构建的,并托管在外部服务器上.我们通过域名访问该网站.

当用户在外部站点上执行特定操作时,需要通过打开本地文件(即可以打开抽屉的exe)或通过访问机器上的本地Web服务器(即localhost)来打开本地工作人员直到抽屉. /打开.

直通抽屉是上面列出的抽屉,它通过USB连接到客户机器.没有使用收据打印机.

php c

14
推荐指数
1
解决办法
2万
查看次数

PDO不使用Port

我正在尝试使用PDO连接到外部数据库.

$dbh = new PDO('mysql:host=hotsname;port=3309;dbname=dbname', 'root', 'root');
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于我拥有的特定服务器.

我想也许只允许某个主机,但我检查了mysql规则,并在我个人的服务器上尝试了这个代码并且连接正常.

所以我知道代码工作,并且他们不在我身边,并且防火墙正在接受对端口3309的请求并将其传递到端口3306上的正确服务器.

所以问题完全在一台服务器上.作为测试,我以为我打开端口3306来测试代码而不指定端口.

$dbh = new PDO('mysql:host=hotsname;dbname=dbname', 'root', 'root');
Run Code Online (Sandbox Code Playgroud)

这很直接.

所以我的问题是,为什么在添加端口时这会导致它无法连接到数据库.只有这个特定的服务器才有这个问题.

非常感谢您的时间.

更新

给出的错误只是"无法连接到xxx.xxx.xxx.xxx上的mysql服务器".

我现在稍微进一步了.代码现在正在工作,前提是我有一个防火墙规则允许使用3306在3306上传入服务器.所以,即使我已经指定了一个端口,它似乎忽略了这一点,并迫使它超出3306.

php mysql pdo

9
推荐指数
2
解决办法
2万
查看次数

DHL trackShipmentRequest - WDSL - PHP - SOAP

第一篇文章,请原谅任何违反论坛规则的行为等.我正在尝试使用DHL api来跟踪货件.

这是我目前的代码

$client = new SoapClient("https://wsbuat.dhl.com:8300/gbl/glDHLExpressTrack?wsdl");
    //$header     = new SoapHeader("https://wsbuat.dhl.com:8300/gbl/glDHLExpressTrack?wsdl", "APICredentials", $auth, false); 
    //$client->__setLocation('https://wsbuat.dhl.com:8300/gbl/glDHLExpressTrack?wsdl');

    $header_part = '<soapenv:Envelope xmlns:rat="https://wsbuat.dhl.com:8300/gbl/glDHLExpressTrack?wsdl"
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-
    secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-5" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
    wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>myusername</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-
    1.0#PasswordText">mypassword</wsse:Password>
    <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-
    1.0#Base64Binary">eUYebYfsjztETJ4Urt8AJw==</wsse:Nonce>
    <wsu:Created>2010-02-12T17:40:39.124Z</wsu:Created>
    </wsse:UsernameToken>
    </wsse:Security>
    </soapenv:Header>';




$soap_var_header = new SoapVar( $header_part, XSD_ANYXML, null, null, null );
$soap_header = new SoapHeader( 'https://wsbuat.dhl.com:8300/gbl/glDHLExpressTrack', 'wsse', $soap_var_header, true );
$client->__setSoapHeaders($soap_header);
Run Code Online (Sandbox Code Playgroud)

如果我做

后续代码var_dump($客户 - > __ getFunctions())

我得到以下内容:

array(1) { [0]=> string(83) "trackShipmentRequestResponse trackShipmentRequest(trackShipmentRequest $parameters)" }
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有人知道如何格式化trackShipmentRequest

$client->trackShipmentRequest(what goes here);
Run Code Online (Sandbox Code Playgroud)

这是DHL给我用于soapui的xml的一个例子 …

php soap wsdl

5
推荐指数
1
解决办法
5247
查看次数

使用除主键之外的字段的Yii模型关系

我需要根据不是主键的字段创建关系.许多如何执行此操作的示例基于一对多和多对多关系.我尝试过以下建议但没有成功

YII中的关系不是"ID"作为主键

Yii CActiveRecord:查找相关数据,但不使用主键

Yii与非主键的关系

Yii模型关系连接(HAS_ONE)

我有以下表结构:

+------+---------+-----------+
| id   |   name  | status_id |
+------+---------+-----------+
|  1   | service1| 1         |
+------+---------+-----------+
| 2    | service2| 2         |
+------+---------+-----------+
Run Code Online (Sandbox Code Playgroud)

这是我的表active_service.我也有下表

+----------+----------+---------------------+-----------+
|id        |related_id|related_text         |  text     |
+----------+----------+---------------------+-----------+
|65        |1         |ActiveServices_status|  Open     |
+----------+----------+---------------------+-----------+
|72        |2         |ActiveServices_status|  Active   |
+----------+----------+---------------------+-----------+
|102       |3         |ActiveServices_status|  Closed   |
+----------+----------+---------------------+-----------+
Run Code Online (Sandbox Code Playgroud)

这是我的related_fields表这个表包含用于下拉等的所有字段.它related_text告诉我们它的用途和related_id状态的id,这是我需要链接的字段.因此status_id,active_service表中的相关信息涉及related_id满足条件的related_fields表的字段,即related_text设置为ActiveServices_status.我将如何创建这种关系.这是我迄今为止所做的最好的例子(在ActiveServices模型中).

public function relations()
{
    // NOTE: you may need to adjust the relation …
Run Code Online (Sandbox Code Playgroud)

php mysql oop yii

5
推荐指数
1
解决办法
1万
查看次数

Android Emulator Ubuntu 14.04无法创建不支持的SDL2 Window GLX

有点背景。我有一台安装了Open VZ的Centos 6 32位服务器。我已使用Ubuntu 14.04.2 Desktop 32 Bit创建了VPS。

我正在尝试在Ubuntu计算机上安装Android模拟器。我遵循了教程,并且在服务器上安装了eclipse和Android SDK,并且一切正常。

我创建了一个AVD并尝试启动它。我最初有与32bit二进制文件有关的错误消息,已经解决,但是现在进度条到现在为止,然后出现以下错误:

模拟器:警告:打开音频输出失败

错误; 无法创建SDL2窗口:不支持GLX

我忍不住觉得这是我最终要让这个人上班之前要解决的最后一个错误。我已经搜索了错误,并且没有大量信息。我发现一些文章说要安装以下内容:

apt-get install libgl1-mesa-swx11
Run Code Online (Sandbox Code Playgroud)

我还找到了以下命令,但这给了我相同的输出:

emulator-arm -avd your_avd 
Run Code Online (Sandbox Code Playgroud)

不用说我碰到了一堵砖墙,所以我为什么在这里。有谁能告诉我如何解决该错误?

最后一点信息,我正在使用Vnc连接到服务器。

非常感谢

eclipse ubuntu android android-emulator

5
推荐指数
1
解决办法
1242
查看次数

小数点后两位不四舍五入(正数和负数)

我不敢相信这真的是来向我提出问题的。但我的数据库中有一些十进制值0.9999999,即使用:

number_format($result['debit'], 2);

number_format($result['debit'], 2,".","");

number_format(floor($result['debit']*pow(10,2))/pow(10,2),2); 
Run Code Online (Sandbox Code Playgroud)

我不断地1从原来的0.999999.

我尝试什么似乎并不重要,它会不断地对数字进行四舍五入。我该怎么做才能简单地得到0.99?我已经到了要爆炸的地步了(目前我指的是函数)

另一个注意事项是这需要使用负数。

php

4
推荐指数
1
解决办法
4851
查看次数

将数字转换为星期几

我需要将数字转换为日期即

1 -> Sunday
2 -> Monday
Run Code Online (Sandbox Code Playgroud)

我有以下相反的问题:星期几到星期数(星期一= 1,星期二= 2)

一旦我能够做到这一点,我可以循环通过并回显当天,即:

while($i < 7)
{
    echo date("N",strtotime(1));
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找的所有东西似乎都是人们要求将一天转换为数字.有人可以指出我正确的方向

php time date

3
推荐指数
1
解决办法
3240
查看次数

混合内容/不安全内容SSL

我目前有以下问题

Mixed Content: The page at 'https://www.example.com/' was loaded over HTTPS, but requested an insecure stylesheet
Run Code Online (Sandbox Code Playgroud)

这是httpd安装了Centos服务器上的Wordpress网站。

我在`http.conf中有以下虚拟主机设置:

NameVirtualHost *:80
NameVirtualHost *:443


<VirtualHost *:443>
    DocumentRoot /var/www/html/example
    ServerName www.example.com
    ServerAlias example.com
    SSLEngine on
    SSLCACertificateFile /etc/httpd/conf/ssl.crt/intermediate.crt
    SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    Redirect / https://www.example.com/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在我这里,httpd.conf我改变AllowOverride了所有,所以看起来像这样:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

我可以确认htaccess正在使用iTheme安全插件,并且可以正常运行,如果在“我”中输入了一些垃圾,也会htacces收到服务器配置错误。

我已经更改了仪表板中的两个Wordpress URL来https代替http。 …

apache wordpress .htaccess ssl mixed-content

2
推荐指数
1
解决办法
2060
查看次数

Android ADB在当前选项卡中打开URL /关闭之前的选项卡

我目前正在使用以下内容在Android设备上的本机浏览器中打开一个选项卡

adb shell am start -a "android.intent.action.VIEW" -d "http://google.co.uk"
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是每次发送命令时都会打开一个新选项卡.为了解决这个问题,我试图杀死浏览器试图再次启动,以前的标签会被记住.

adb shell am  force-stop com.android.browser
Run Code Online (Sandbox Code Playgroud)

我之前尝试过杀人,但这似乎没有用

adb shell am kill com.android.browser
Run Code Online (Sandbox Code Playgroud)

我做了一些快速阅读并找到了选项,create_new_tab但我相信这是针对chrome而不是本机浏览器.

adb shell am start -a "android.intent.action.VIEW" -d "http://google.co.uk" --ez create_new_tab false
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何使用单个选项卡,如果不存在则打开选项卡,如果有,则使用现有选项卡.我正在使用Windows命令行.

android adb

2
推荐指数
1
解决办法
2174
查看次数

从文件名 PHP 中提取日期

我有来自几个不同来源的数十万个文件。每个文件的名称中都包含日期,但是文件名结构有所不同,例如:

2015-10-05-importsrc1.txt
20151004importsrc2.txt
importsrc3-154826-4521-2015-10-06.csv
importsrc4-154826-4521-20151006.txt
Run Code Online (Sandbox Code Playgroud)

我需要处理当月和下个月的文件,忽略任何较旧的文件。

我已经看到了一些如何使用循环检查特定文件来检查所需日期的示例,但是我试图避免太多循环,并可能使用正则表达式来模式匹配日期,然后进行比较。

目前我使用以下内容(其中$f是文件名和扩展名):

//CHANGED THIS TO SKIP OLD ONES
if(strpos(str_replace("-", "", $f), "201510") == false)
{
    continue;
}
Run Code Online (Sandbox Code Playgroud)

但这仅适用于上个月,并且目前是硬编码的,理想情况下我需要类似的东西:

//CHANGED THIS TO SKIP OLD ONES
$extractedDate = preg_match('DATEPATTERN',(str_replace("-", "", $f), "201510"),$extractedDate );
if(strtotime($extractedDate[0]) < date('Y-m-d',(strtotime ('-1 Month', strtotime (date('Y-m-d)))))
{
    continue;
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以简单地改变我的第一次尝试,添加另一个条件并使其动态化,但如果我能够提取日期,这将在很多方面有所帮助。

php regex

1
推荐指数
1
解决办法
1373
查看次数