Tag: php

如何确定列表是否是另一个列表的子集?

确定列表是否是另一个列表的子集的有效方法是什么? 例: is_subset(List(1,2,3,4),List(2,3)) //Returns true is_subset(List(1,2,3,4),List(3,4,5)) //Returns false 我主要寻找有效的算法,而不是太关心列表的存储方式。 它可以存储在数组,链接列表或其他数据结构中。 谢谢 编辑:列表已排序

是否有类似PHP的Python的ctype? 访问库而无需编写扩展名?

Python有ctypes来访问库。 在PHP中,您为所有内容编写扩展。 像libgd这样的流行扩展几乎可以在任何地方使用。 有没有像Python的ctypes一样工作的扩展,让你可以访问库而无需编写PHP扩展?

获取我的IP地址

我在小型网络上有一台电脑,所以我的IP是192.168.2.100。 我想要获得真正的IP。 我下载了无ip客户端,但这对于这么简单的事情来说似乎很麻烦。 我创建了这个php脚本,它获得了http://www.ip-adress.com/ page并检索了它给我的ip。 有更简单的方法吗? 使用C,WSH或其他东西。 或者,如果有一个更简单的PHP方式请告诉我。 当我拿到ip时,我会将它上传到我的ftp站点,以便我可以看到ip从工作中。

C&PHP:使用按位运算符将整数设置存储?

我不熟悉按位运算符,但我似乎以前用它们来存储简单的设置。 我需要将几个开/关选项传递给一个函数,我想为此使用一个整数。 我该如何设置和阅读这些选项?

如何制作PHP扩展

我知道你可以通过制作一个PHP文件并使用require_once来从技术上进行PHP扩展。 但如果你用C或C ++编写扩展,它会优化性能。 如果是这样,你会如何为此做一个“你好世界”?

用于UTF-8代码单元的PHP和C ++中文字符的逆序

中文单词你好的unicode代码点分别为4F60,597D。 我从这个工具得到的http://rishida.net/tools/conversion/ 下面的控制台应用程序将打印出60:4F:7D:59的hex字节序列。 正如您所看到的,它与每个字符的unicode代码点的顺序相反。 首先是60然后是4F,而不是4F然后是60.为什么会这样? 谁是对的? 工具或控制台应用程序? 或两者 ? void printHex (char * buf, char *filename) { FILE *fp; fp=fopen(filename, “w”); if(fp == NULL) return; int len2 = sizeof(buf); int i; char store[10]; for (i = 0; i 0) fprintf(fp,”:”); //sprintf(store, ); fprintf(fp,”%02X”, buf[i]); } fprintf(fp,”\n”); fclose(fp); } int main(int argc, char* argv[]) { char […]

与网站的现金抽屉沟通

我目前正在为我的公司建立一个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 我对C有轻微的经验,但有谷歌我相信我可以想出这部分。 我遇到的问题是该解决方案实际上是一个非现场托管的网站,我需要做的是从站点发布命令到使用它的客户端机器。 因此,当他们完成销售时,我可以打开该特定机器的抽屉。 我需要澄清的是我是如何做到这一点的。 例如,我假设我在客户端计算机上安装驱动程序并插入现金抽屉。然后,当他们访问网站时,我需要执行上面显示的C命令来打开抽屉。 我遇到的问题是如何解决这个问题。 当然,如果我在服务器上执行命令,它将有效地查看服务器USB端口并尝试打开抽屉。 而不是将命令发送到客户端机器。 因此,为了解决这个问题,有可能在客户端机器上有c文件然后我只是使用类似的东西调用网站上的文件 C:\Windows\execute.bat 它反过来调用客户端计算机上的c文件。 我知道我没有提供很多信息,因为我想在进行购买之前弄清楚这一点,我可能过于复杂,但任何指针或信息都会非常感激。 此外,我还没有完全按照这个模型设置,所以如果您知道一些具有良好文档或现有解决方案的替代方案,我也对此持开放态度。 笔记 我知道有一个可能的chrome api调用解决方案 我可能会安装xampp并创建一个简单的php文件,调用exe来完成必要的工作。 因此,访问客户端计算机上的本地地址可能是另一个潜在的想法(即127.0.0.1/open.php)。 更新 我的网站包括POS方面的东西已经建成并准备好了。 这是使用PHP构建的,并托管在外部服务器上。 我们通过域访问该网站。 当用户在外部站点上执行特定操作时,需要通过打开本地文件(即可以打开抽屉的exe)或通过访问机器上的本地Web服务器(即localhost)来打开本地工作人员直到抽屉。 /打开。 直到抽屉是上面列出的抽屉,它通过USB连接到客户机器。 没有使用收据打印机。

如何使用实际订单ID生成唯一订单ID(仅显示touser)?

再次编辑:我不想再创建另一个问题,所以问这里。 我有同样的情况。 但是这次我需要C语言的算法。 有谁能够帮我。 我有下表。 CREATE TABLE IF NOT EXISTS `j741_order` ( `order_id` int(11) NOT NULL AUTO_INCREMENT, `buyer_id` int(11) NOT NULL, `subtotal` decimal(15,5) DEFAULT ‘0.00000’, `discount` decimal(15,5) NOT NULL DEFAULT ‘0.00000’, `shipping` decimal(15,5) DEFAULT ‘0.00000’, `tax` decimal(15,5) DEFAULT ‘0.00000’, `total` decimal(15,5) NOT NULL DEFAULT ‘0.00000’, `currency` char(3) DEFAULT NULL, `status` int(11) NOT NULL DEFAULT ‘0’, […]

如何在PHP客户端和C守护程序服务器之间进行IPC?

并感谢您看一下这个问题。 的背景 我有几台机器可以在很短的时间内连续生成多个(最多300个)PHP控制台脚本。 这些脚本快速运行(不到一秒钟)然后退出。 所有这些脚本都需要只读访问大型trie结构,每次运行脚本时加载到内存中都非常昂贵。 服务器运行Linux。 我的解决方案 创建一个C守护进程,将trie结构保留在内存中并接收来自PHP客户端的请求。 它将收到来自每个PHP客户端的请求,对内存结构执行查找并回答答案,从而避免PHP脚本执行该工作。 请求和响应都是短字符串(不超过20个字符) 我的问题 我是C守护进程和进程间通信的新手。 经过大量研究,我已将选择范围缩小到Message Queues和Unix域套接字。 消息队列似乎已经足够了,因为我认为(我可能错了)他们排队守护进程的所有请求以连续回答它们。 但是,Unix域套接字似乎更容易使用。 但是,我有各种各样的问题,我无法找到答案: PHP脚本如何发送和接收消息或使用UNIX套接字与守护进程通信? 相反,C守护进程如何跟踪它发送回复的PHP进程? 我见过的守护进程的大多数例子都使用了一个带有睡眠条件的无限while循环。 我的守护进程需要为可能随时出现的许多连接提供服务,并且响应延迟至关重要。 如果PHP脚本在睡眠时发送请求,守护程序会如何反应? 我读过有关民意调查和epoll的信息,这是等待收到邮件的正确方法吗? 每个PHP进程总是发送一个请求,然后等待接收响应。 我需要确保如果守护程序关闭/不可用,PHP进程将等待设置的最大时间响应,如果没有收到回答将继续,而不是挂起。 可以这样做吗? 数据结构的实际查找非常快,我不需要任何复杂的multithreading或类似解决方案,因为我认为以FIFO方式处理请求就足够了。 我还需要保持简单的愚蠢,因为这是一项关键任务服务,而且我对这类程序还是比较陌生的。 (我知道,但我真的无法解决这个问题,学习经验会很棒) 我真的很感激代码片段,它为我所具有的具体问题提供了一些亮点。 指南和指针的链接也将受到欢迎,这些指南将进一步了解这个低级别IPC的阴暗世界。 谢谢你的帮助! 更新 现在比我在提出这个问题时所知道的要多得多,我只是想向任何感兴趣的人指出, Thrift框架和ZeroMQ在抽象硬件,套接字级编程方面做得非常出色。 Thrift甚至可以免费为您提供服务器的脚手架! 事实上,不要去构建网络服务器的所有艰苦工作,而是考虑使用已经为您解决问题的良好异步服务器编写应用程序服务器代码。 当然,使用异步IO的服务器非常适合不需要密集CPU处理的网络应用程序(或者事件循环块)。 python的例子: Twisted , gevent 。 我更喜欢gevent,而且我不包括龙卷风,因为它专注于HTTP服务器端。 Ruby的例子: EventMachine 当然, Node.js基本上是当今异步服务器的默认选择。 如果您想深入了解,请阅读C10k问题和Unix网络编程 。

沟通c程序和PHP

我想要一个显示输入值的网页(用PHP编写,因为它是我所知道的)。 我希望将该值传递给已经运行的ac程序。 我虽然使用套接字在两个进程之间进行通信,但我该如何设法做到这一点? 如何使用fsockopen连接到本地套接字。