2017-05-17 1 views
-2

이 배열을 부호없는 바이트 (0-255)로 이진 파일에 쓸 수 있습니까?PHP 5.6에서 이진 파일에 부호없는 바이트 값 배열을 쓰는 방법

배열은 다음과 같이 : 당신은 []를 사용하면 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)); 

그러나 그것은 단지 파일에 한 바이트를 저장합니다. 나는 또한 지난 2 일 동안 많은 다른 것들을 테스트했다. 그래서 나는 마침내 도움을 얻고 싶었습니다.

+1

이것은 배열이 아닙니다. –

+0

** 직접 코드를 작성하려고해야합니다 **. [** 더 많은 연구를하고 **] (https://meta.stackoverflow.com/q/261592/1011527) 문제가 있다면 ** 당신이 시도한 것을 게시하십시오 ** 명확한 설명과 함께 ** ** 작동하지 않으며 [Minimal, Complete, Verifiable example] (http://stackoverflow.com/help/mcve)을 제공하십시오. [묻는 방법] (http://stackoverflow.com/help/how-to-ask)을 읽어보십시오. [둘러보기] (http://stackoverflow.com/tour)를 읽고 [this] (https://meta.stackoverflow.com/q/347937/1011527)를 읽으십시오. –

+0

정말 많은 라인이 필요합니까? – fonfonx

답변

3

입력 배열이 바이트 배열이라고 가정하면 바이너리로 써야합니다.

file_put_contents($filename, pack("C*", ...$my_PNG)); 
+0

그게 효과가! 고맙습니다. 배열을 팩하기 위해 ... 사용해야한다는 것을 확인 했어야합니다 :-) – Knight

관련 문제