duandu1049 2016-07-26 14:16
浏览 42
已采纳

无法在本地网络中获取http标头

I'm doing a pixel tracking but when I try to get the HTTP Headers using cURL, it returns this:

Output http://image.prntscr.com/image/644e0c04a08e445c82e3381eed3b42f4.jpeg

the current code:

<?php
  $img = imagecreate(1,1);
  $white = imagecolorallocate($img, 255, 255, 255);
  imagesetpixel($img,1,1,$white);
  header("content-type: image/jpg");
  imagejpeg($img);
  imagedestroy($img);
  $file = fopen("results.txt", "a");
  $ip = $_SERVER['REMOTE_ADDR'];
  $date = date("r");
  fwrite($file, "$ip from: $_SERVER['HTTP_REFERER'] at $date");
  fclose($file);
?>
  • 写回答

1条回答 默认 最新

  • dongyi7901 2016-07-26 14:25
    关注
    1. First of all add line i records.txt
    2. Generate Image
    3. Do ob_clean(), it will remove output if warning occures
    4. Give output of image
    5. do not close php tag.
    6. try it with browser instead of CURL because curl output should be garbase collection because output is in binary format.

    PHP:

    <?php
    
      $file = fopen("results.txt", "a");
      $ip = $_SERVER['REMOTE_ADDR'];
      $date = date("r");
      fwrite($file, "$ip from: $_SERVER['HTTP_REFERER'] at $date");
      fclose($file);
      $img = imagecreate(1,1);
      $white = imagecolorallocate($img, 255, 255, 255);
      imagesetpixel($img,1,1,$white);
      header("content-type: image/jpg");
      ob_clean();
      imagejpeg($img);
      imagedestroy($img);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?