예제 #1
0
        public object addFile(ScriptContext context, object filename, object localname, object start, object length)
        {
            string fpath   = Core.Convert.ObjectToString(filename);
            string flocal  = Core.Convert.ObjectToString(localname);
            int    fstart  = Core.Convert.ObjectToInteger(start);
            int    flength = Core.Convert.ObjectToInteger(length);

            try
            {
                using (PhpStream handle = PhpStream.Open(fpath, "r", StreamOpenOptions.Empty))
                {
                    if (fstart > 0)
                    {
                        PhpFile.Seek(handle, fstart);
                    }

                    FileHandleDataSource src = new FileHandleDataSource(handle, flength);
                    this.m_zip.BeginUpdate();
                    this.m_zip.Add(src, flocal);
                    this.m_zip.CommitUpdate();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("ZipArchive::addFile", ex.Message);
                return(false);
            }
        }
예제 #2
0
파일: PhpZlib.cs 프로젝트: jiahao42/weverca
 public static int GzSeek(PhpResource zp, int offset, int whence)
 {
     return(PhpFile.Seek(zp, offset, whence));
 }