如何用无符号字节(0-255)将此数组写入二进制文件?
数组看起来像这样:
请注意,我没有添加任何索引,因为当您使用[]时,PHP会自动将值添加到数组变量中的下一个可用索引。所以第一个my_PNG [] = 137;与my_PNG [0] = 137;相同。下次使用[]时,将返回下一个索引1,依此类推等等
my_PNG = array();
my_PNG[]=137;
my_PNG[]=80;
my_PNG[]=78;
my_PNG[]=71;
my_PNG[]=13;
my_PNG[]=10;
my_PNG[]=26;
my_PNG[]=10;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=13;
my_PNG[]=73;
my_PNG[]=72;
my_PNG[]=68;
my_PNG[]=82;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=1;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=1;
my_PNG[]=8;
my_PNG[]=6;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=31;
my_PNG[]=21;
my_PNG[]=196;
my_PNG[]=137;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=13;
my_PNG[]=73;
my_PNG[]=68;
my_PNG[]=65;
my_PNG[]=84;
my_PNG[]=120;
my_PNG[]=156;
my_PNG[]=99;
my_PNG[]=96;
my_PNG[]=96;
my_PNG[]=96;
my_PNG[]=248;
my_PNG[]=15;
my_PNG[]=0;
my_PNG[]=1;
my_PNG[]=4;
my_PNG[]=1;
my_PNG[]=0;
my_PNG[]=95;
my_PNG[]=229;
my_PNG[]=195;
my_PNG[]=75;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=0;
my_PNG[]=73;
my_PNG[]=69;
my_PNG[]=78;
my_PNG[]=68;
my_PNG[]=174;
my_PNG[]=66;
my_PNG[]=96;
my_PNG[]=130;
这是PNG文件中的每个字节,其中只有一个黑色像素。 我想写或以某种方式将此数组保存到文件中,以便它可以在服务器上用作PNG图像。
我测试过:
file_put_contents('img.png', pack("C*",$my_PNG));
但它只保存一个字节到文件。我过去两天也测试过其他一些东西。所以我终于想得到一些帮助。
答案 0 :(得分:3)
假设输入数组是一个字节数组,您只需要使用它 把它写成二进制文件。
"[\\p{C}&&\\S]"