Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
uphp:functions:read_unpack [2021/01/28 10:09]
admin removed
— (current)
Line 1: Line 1:
-======fread_unpack====== 
- 
-<​badge>​WMMEGA FW >= 2.1179</​badge>​ 
- 
-Read data from a file into an indexed array in binary form. 
- 
-====Description==== 
- 
-<well size="​sm"><​html>​ 
-<span style="​font-size:​125%;​color:​green">​int 
-<span style="​color:​black">​fread_unpack ( 
-<span style="​color:​green">​int 
-<span style="​color:​blue">​$handle<​span style="​color:​black">,​ 
-<span style="​color:​green">​string 
-<span style="​color:​blue">​$format 
-<span style="​color:​black">,​ 
-<span style="​color:​green">​int 
-<span style="​color:​blue">​$count<​span style="​color:​black">​ 
-<span style="​color:​black">,​ 
-<span style="​color:​green">​int 
-<span style="​color:​blue">​$interval<​span style="​color:​black">​ 
-) 
-</​html></​well>​ 
- 
-This function performs a binary-safe read of data from a file into an indexed array that is automatically created. ​ The format parameter determines the element size of the array. 
- 
-====Parameters==== 
- 
-<​html><​b><​span style="​color:​blue">​$handle<​span style="​color:​black"></​b></​html>: ​ Valid handle of a previously opened file 
- 
-<​html><​b><​span style="​color:​blue">​$format<​span style="​color:​black"></​b>: ​ <​b><​span style="​color:​green">​String<​span style="​color:​black"></​b>​ containing one of the following items:</​html>​ 
-^ Value  ^ Description ​                                     ^ 
-| l      | signed long (always 32 bit, machine byte order) ​ | 
-| f      | floating point(always 32 bit, machine byte order) ​ | 
-| c      | signed byte   | 
- 
-<​html><​b><​span style="​color:​blue">​$count<​span style="​color:​black"></​b></​html>: ​ Number of elements to read (this will be multiplied by the array element size in byte which could be 1,2 or 4 depending on the data type) 
- 
-<​html><​b><​span style="​color:​blue">​$interval<​span style="​color:​black"></​b></​html>: ​ Interval in elements to skip between reads (keep this to 1 to read a block of data) 
- 
-====Return Values==== 
- 
-<​html><​b><​span style="​color:​green">​array<​span style="​color:​black"></​b></​html>​ indexed array containing the data 
- 
-====Examples==== 
- 
-<code php> 
-<? 
-  // assuming your file contains the following float: 
-  // 1.0,​2.0,​3.0,​4.0,​5.0,​6.0,​7.0,​8.0,​9.0,​10.0,​11.0,​12.0,​13.0,​14.0,​15.0,​16.0,​17.0,​18.0,​19.0 
-  $fh = fopen("/​data.dat","​r"​);​ 
-  if (!$fh) { 
-    print("​File open failed"​);​ 
-  } else { 
-    $arr=fread_unpack($fh,'​f',​10,​1); ​ 
-    // this will contain an array of 10 floating points read contiguously 
-    print_r($arr); ​ 
-    // 1.0,​2.0,​3.0,​4.0,​5.0,​6.0,​7.0,​8.0,​9.0,​10 
-    ​ 
-    $arr=fread_unpack($fh,'​f',​10,​2); ​ 
-    // this will contain an array of 10 floating point values spaced at 2 floats apart. 
-    ​ 
-    print_r($arr); ​ 
-    // 1.0,​3.0,​5.0,​7.0,​9.0,​11.0,​13.0,​15.0,​17.0,​19.0 
-    ​ 
-    fclose($fh);​ 
-  } 
-?> 
-</​code>​ 
- 
- 
- 
-====See Also==== 
- 
-[[pack()]] - Pack data 
- 
-[[unpack()]] - Unpack data 
- 
-[[fwrite_pack()]] - Write binary data from an indexed array