如何从包含数字,字母等的字符串中获取字节数组?如果您熟悉Java,我正在寻找getBytes()方法的相同功能.
我尝试了一个像这样的片段:
for($i = 0; $i < strlen($msg); $i++){
$data.=ord($msg[$i]);
//or $data[]=ord($msg[$1]);
}
Run Code Online (Sandbox Code Playgroud)
但没有成功,所以任何形式的帮助将不胜感激.
PS:为什么我需要这个!?好吧,我需要通过fputs()将一个字节数组发送到用Java编写的服务器...
pack()
语法是(来自http://php.net/manual/en/function.pack.php)
string pack ( string $format [, mixed $args [, mixed $... ]] )
假设我需要打包三个字节
$packed = pack( "c*", 65, 66, 67 );
但是,如果我必须打包任意数量的字节怎么办?
它们可以方便地存储到一个数组中,所以我天真地尝试过
$a = array( 65, 66, 67 );
$packed = pack( "c*", $a );
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有没有办法pack()
使用数组?
我在 MS ACCESS 数据库中有图像作为 BLOB。到目前为止,我已经将它们与来自 PHP 的 odbc 访问一起使用,并且运行良好。这是简化的程序:
code:
<?php
ini_set("odbc.defaultlrl", "5M");
$dbName = $_SERVER["DOCUMENT_ROOT"]."\\..\db\\teknofo.mdb";
$con = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=".$dbName,'','') or die('Ups');
ob_clean();
header('Content-Type: image/*');
$sql = "SELECT photo FROM Medlemmer WHERE Id=17";
$rd = odbc_exec($con, $sql);
if (odbc_fetch_row($rd)) { echo odbc_result($rd,"photo"); }
odbc_close($con);
ob_end_flush();
?>
Run Code Online (Sandbox Code Playgroud)
我正在转换为 MySql,但必须使用 MS Access 进行某些 timg:因此,我正在使用 PDO 制作新代码,但我无法正确读取数据。
新的来了
<?php
$dbName = $_SERVER["DOCUMENT_ROOT"]."\\..\db\\teknofo.mdb";
$con = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
$sql = "SELECT photo FROM Medlemmer WHERE id=?";
$st …
Run Code Online (Sandbox Code Playgroud)