PHP正在取代®?

时间:2015-12-27 19:40:03

标签: php unit-testing automated-tests

我正在尝试编写一个PHP脚本,用于验证用户计算机中是否正确安装了正确的程序和库。

我使用以下代码行生成程序列表:

$installed_programs_list = shell_exec("wmic product get name,version /format:csv");

有一行应该是

英特尔®可信连接服务客户端,1.28.487.1

但我的字符串比较失败,因为$ installed_programs_list变量具有Intelr Trusted Connect Service Client,1.28.487.1。

我尝试使用mb_detect_encondig,但它似乎无法检测到该行。它显示所有其他线路的ASCII,但英特尔®线路没有。我试图强制使用UTF-8但没有运气。我不知道我是否做得对。

我尝试将输出保存到.csv文件并使用fread()读回来,字符串显示Intel

这是我的代码:

shell_exec("wmic product get name,version /format:csv > software_list.csv");
// get contents of a file into a string
$filename1 = "software_list.csv";
$handle = fopen($filename1, "rb");
$installed_programs_list = fread($handle, filesize($filename1));
fclose($handle);

echo $installed_programs_list;

进一步说明:

    //check if correct programs are installed
    foreach($installed_programs as $value){
        if(mb_strpos($installed_programs_list, trim($value)) === false){
            print_div("$value not installed.", "red");
            $test_passed = 0;   
        }else{
            print_div("$value installed.", "blue");
        }
    }

我的目标是在PHP中为我的公司创建一系列自动化测试。

非常感谢你的帮助!

0 个答案:

没有答案