Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / standard / tests / file / include_userstream_003.phpt
blob2b439cfa259c1800602da8b1f9f5a59fad958f32
1 --TEST--
2 allow_url_fopen disabled
3 --INI--
4 allow_url_fopen=0
5 allow_url_include=1
6 --FILE--
7 <?php
8 class test {
9     private $data = '<?php echo "Hello World\n";?>';
10         private $pos;
11         private $stream = null;
13         function stream_open($path, $mode, $options, &$opened_path)
14         {
15                 if (strpos($path, "test2://") === 0) {
16                         $this->stream = fopen("test1://".substr($path, 8), $mode);
17                         return !empty($this->stream);
18                 }
19                 if (strchr($mode, 'a'))
20                         $this->pos = strlen($this->data);
21                 else
22                         $this->po = 0;
23                 
24                 return true;
25         }
27         function stream_read($count)
28         {
29                 if (!empty($this->stream)) {
30                         return fread($this->stream, $count);
31                 }
32                 $ret = substr($this->data, $this->pos, $count);
33                 $this->pos += strlen($ret);
34                 return $ret;
35         }
37         function stream_tell()
38         {
39                 if (!empty($this->stream)) {
40                         return ftell($this->stream);
41                 }
42                 return $this->pos;
43         }
45         function stream_eof()
46         {
47                 if (!empty($this->stream)) {
48                         return feof($this->stream);
49                 }
50                 return $this->pos >= strlen($this->data);
51         }
53         function stream_seek($offset, $whence)
54         {
55                 if (!empty($this->stream)) {
56                         return fseek($this->stream, $offset, $whence);
57                 }
58                 switch($whence) {
59                         case SEEK_SET:
60                                 if ($offset < $this->data && $offset >= 0) {
61                                         $this->pos = $offset;
62                                         return true;
63                                 } else {
64                                         return false;
65                                 }
66                                 break;
67                         case SEEK_CUR:
68                                 if ($offset >= 0) {
69                                         $this->pos += $offset;
70                                         return true;
71                                 } else {
72                                         return false;
73                                 }
74                                 break;
75                         case SEEK_END:
76                                 if (strlen($this->data) + $offset >= 0) {
77                                         $this->pos = strlen($this->data) + $offset;
78                                         return true;
79                                 } else {
80                                         return false;
81                                 }
82                                 break;
83                         default:
84                                 return false;
85                 }
86         }
90 stream_register_wrapper("test1", "test", STREAM_IS_URL);
91 stream_register_wrapper("test2", "test");
92 echo file_get_contents("test1://hello"),"\n";
93 include "test1://hello";
94 echo file_get_contents("test2://hello"),"\n";
95 include "test2://hello";
96 --EXPECTF--
97 Warning: file_get_contents(): test1:// wrapper is disabled in the server configuration by allow_url_fopen=0 in %sinclude_userstream_003.php on line 86
99 Warning: file_get_contents(test1://hello): failed to open stream: no suitable wrapper could be found in %sinclude_userstream_003.php on line 86
102 Warning: include(): test1:// wrapper is disabled in the server configuration by allow_url_fopen=0 in %sinclude_userstream_003.php on line 87
104 Warning: include(test1://hello): failed to open stream: no suitable wrapper could be found in %sinclude_userstream_003.php on line 87
106 Warning: include(): Failed opening 'test1://hello' for inclusion (include_path='%s') in %sinclude_userstream_003.php on line 87
108 Warning: fopen(): test1:// wrapper is disabled in the server configuration by allow_url_fopen=0 in %sinclude_userstream_003.php on line 10
110 Warning: fopen(test1://hello): failed to open stream: no suitable wrapper could be found in %sinclude_userstream_003.php on line 10
112 Warning: file_get_contents(test2://hello): failed to open stream: "test::stream_open" call failed in %sinclude_userstream_003.php on line 88
115 Warning: fopen(): test1:// wrapper is disabled in the server configuration by allow_url_fopen=0 in %sinclude_userstream_003.php on line 10
117 Warning: fopen(test1://hello): failed to open stream: no suitable wrapper could be found in %sinclude_userstream_003.php on line 10
119 Warning: include(test2://hello): failed to open stream: "test::stream_open" call failed in %sinclude_userstream_003.php on line 89
121 Warning: include(): Failed opening 'test2://hello' for inclusion (include_path='%s') in %sinclude_userstream_003.php on line 89