예제 #1
0
        public BinaryStream fopen(Env env, StringValue pathV, StringValue mode,
                                  LongValue options)
        {
            string path = pathV.ToString();

            if (path.equals("php://output"))
            {
                return(new PhpBinaryOutput(env));
            }
            else if (path.equals("php://input"))
            {
                return(new PhpBinaryInput(env));
            }
            else if (path.equals("php://stdout"))
            {
                return(new PhpStdout());
            }
            else if (path.equals("php://stderr"))
            {
                return(new PhpStderr());
            }
            else if (path.equals("php://stdin"))
            {
                return(new PhpStdin(env));
            }
            else if (path.equals("php://memory"))
            {
                return(new ByteArrayBinaryStream(env));
            }
            else if (path.equals("php://temp"))
            {
                return(FileModule.tmpfile(env));
            }
            else
            {
                env.warning(L.l("{0} @is an unsupported or unknown path for this protocol",
                                path));

                return(null);
            }
        }