2010-02-03 2 views
0

Оригинальное название:
читать и считать возникновение только ограниченных символов А, G, С, Т присутствует в текстовом файле ввода, например, только 100 из 500 и нарисуйте тонкие вертикальные прямоугольные изображения штрих-кода, используя gdОпределение специфических символов из ввода текста

Он считывает только первые 10 символов и рисует штрих-код вместо 100 символов.

<?php 
$file="co3.txt"; 
$handle=fopen($file, 'r'); 

$A=0; 
$G=0; 
$C=0; 
$T=0; 

$img = imagecreate(850,80); 
$white = imagecolorallocate($img, 255,255,255); 
$green=imagecolorallocate($img, 0, 128, 0); 
$black=imagecolorallocate($img, 0, 0, 0); 
$red=imagecolorallocate($img, 255, 0, 0); 
$blue=imagecolorallocate($img, 0, 0, 255); 

$x1=40; 
$y1=40; 
$x2=43; 
$y2=80; 

$contents = ''; 

#while((($contents=fread($handle, 100)) !='')) { 
while((($contents=fread($handle, 100)))) { 
for ($i=0; $i<=100; $i++) 

{ 

    if($contents[$i] == 'A') 
{ 

$A++; 
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $green); 
$x1 = $x1+6; 
$x2 = $x2+6; 

} 

else 
if($contents[$i] == 'G') 

{ 

$G++; 
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $black); 
$x1 = $x1+6; 
$x2 = $x2+6; 

} 

else 
if($contents[$i] == 'C') 

{ 

$C++; 
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $blue); 
$x1 = $x1+6; 
$x2 = $x2+6; 

} 

else 
if($contents[$i] == 'T') 

{ 

$T++; 
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $red); 
$x1 = $x1+6; 
$x2 = $x2+6; 

header("Content-type: image/png"); 
imagepng($img); 
imagedestroy($img); 
} 

} 

} 

?> 
+2

@ s.mahalingam: да, в чем вопрос? – RageZ

+0

Требование состоит в том, чтобы читать и считать только 100 символов, чтобы рисовать и выводить изображение штрих-кода вместо чтения более 100 символов. –

ответ

0

Я предполагаю, что вы не только первые 10 букв, но и до точки, когда Т найден. Затем неуместный сниппет, создающий изображение, отображает это изображение. Цикл может продолжаться до 100, создавая, возможно, еще несколько изображений (с каждым новым T), но я не знаю поведения PHP в таких случаях, так как часть ответа HTTP легко записывается ...

Альтернативно вы можете видеть последние этих изображений. Во всяком случае, фиксируя неуместное

header("Content-type: image/png"); 
imagepng($img); 
imagedestroy($img); 

вещи должны выглядеть более как ожидалось.

Смежные вопросы