scratch – Diff between revs 13 and 34

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 13 Rev 34
1 <?php 1 <?php
2   2  
3 ########################################################################### 3 ###########################################################################
4 ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## 4 ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ##
5 ########################################################################### 5 ###########################################################################
6 function atomized_put_contents($file, $data) 6 function atomized_put_contents($file, $data, $block = 1)
7 { 7 {
8 $fp = fopen($file, "w+"); 8 $f = fopen($file, 'a');
-   9 if (!$f || !flock($f, LOCK_EX | LOCK_NB, $block) || $block)
-   10 return;
-   11 ftruncate($f, 0);
-   12 fwrite($f, $data, strlen($data));
9 if (flock($fp, LOCK_EX)) { 13 flock($f, LOCK_UN);
-   14 fclose($f);
-   15 }
-   16 ###########################################################################
-   17 ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ##
-   18 ###########################################################################
-   19 function atomized_get_contents($file, $block = 1)
-   20 {
10 fwrite($fp, $data); 21 $f = fopen($file, 'r+');
-   22 if (!$f || !flock($f, LOCK_SH | LOCK_NB, $block) || $block)
11 fflush($fp); 23 return;
-   24 $s = get_file_size($file);
-   25 if ($s == 0) {
12 flock($fp, LOCK_UN); 26 flock($f, LOCK_UN);
-   27 fclose($f);
-   28 return;
13 } 29 }
-   30 $c = fread($f, $s);
-   31 flock($f, LOCK_UN);
14 fclose($fp); 32 fclose($f);
-   33 return $c;
15 } 34 }
-   35  
16 ########################################################################### 36 ###########################################################################
17 ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ## 37 ## Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 ##
18 ########################################################################### 38 ###########################################################################
19 function atomized_get_contents($file) 39 function get_file_size($file, $block = 1)
20 { 40 {
21 $fp = fopen($file, "r+"); 41 $f = fopen($file, 'r+');
-   42 if (!$f || !flock($f, LOCK_SH | LOCK_NB, $block) || $block)
-   43 return;
-   44
-   45 $s = 1073741824;
22 $ct = ''; 46 $i = 0;
-   47 fseek($f, 0, SEEK_SET);
-   48 do {
23 if (flock($fp, LOCK_SH)) { 49 fseek($f, $s, SEEK_CUR);
-   50  
24 if (filesize($file)) { 51 if (fgetc($f) === false) {
25 $ct = fread($fp, filesize($file)); 52 fseek($f, -$s, SEEK_CUR);
-   53 $s = (int)($s / 2);
-   54 continue;
26 } 55 }
27 flock($fp, LOCK_UN); 56 fseek($f, -1, SEEK_CUR);
-   57 $i += $s;
-   58 } while ($s > 1);
-   59  
-   60 while (fgetc($f) !== false)
28 } 61 $i++;
-   62
-   63 flock($f, LOCK_UN);
29 fclose($fp); 64 fclose($f);
30 return $ct; 65 return $i;
31 } 66 }
32   67