php slaveok_ZipArchive::open
用戶評論:
[#1]
ohcc at 163 dot com [2015-11-06 21:45:54]
return?values?of?ZipArchive::open()?and?their?values?and?meanings
ZipArchive::ER_SEEK?4Seek?error.
ZipArchive::ER_READ?5Read?error.
ZipArchive::ER_NOENT?9No?such?file.
ZipArchive::ER_OPEN?11Can't?open?file.
ZipArchive::ER_EXISTS?10File?already?exists.
ZipArchive::ER_MEMORY?14Malloc?failure.
ZipArchive::ER_INVAL?18Invalid?argument.
ZipArchive::ER_NOZIP?19Not?a?zip?archive.
ZipArchive::ER_INCONS?21Zip?archive?inconsistent
[#2]
ohcc at 163 dot com [2015-11-06 21:29:21]
//?Warning:?ZipArchive::addFile():?Invalid?or?uninitialized?Zip?object
//?try?ZipArchive::OVERWRITE|ZipArchive::CREATE?when?you?want?to?replace?a?zip?archive?that?may?not?exist$zip=?newZipArchive;$rt=$zip->open('i.zip',ZipArchive::OVERWRITE);
echo$rt;//?when?i.zip?does?not?exist,?$rt?is?9,?ZipArchive::ER_NOENT,?or?"No?such?file."$zip->addFile('wuxiancheng.cn.sql','db.sql');//?triggers?an?error?with?the?message?"Warning:?ZipArchive::addFile():?Invalid?or?uninitialized?Zip?object?..."
//?Use?ZipArchive::OVERWRITE|ZipArchive::CREATE$zip=?newZipArchive;$zip->open('i.zip',ZipArchive::OVERWRITE|ZipArchive::CREATE);$zip->addFile('wuxiancheng.cn.sql','db.sql');?>
[#3]
abolfazl dot ziaratban at gmail dot com [2015-05-24 16:35:47]
#license?GPLclasszipextendsZipArchive{
public?functionmessage($code)
{
switch?($code)
{
case0:
return'No?error';
case1:
return'Multi-disk?zip?archives?not?supported';
case2:
return'Renaming?temporary?file?failed';
case3:
return'Closing?zip?archive?failed';
case4:
return'Seek?error';
case5:
return'Read?error';
case6:
return'Write?error';
case7:
return'CRC?error';
case8:
return'Containing?zip?archive?was?closed';
case9:
return'No?such?file';
case10:
return'File?already?exists';
case11:
return'Can\'t?open?file';
case12:
return'Failure?to?create?temporary?file';
case13:
return'Zlib?error';
case14:
return'Malloc?failure';
case15:
return'Entry?has?been?changed';
case16:
return'Compression?method?not?supported';
case17:
return'Premature?EOF';
case18:
return'Invalid?argument';
case19:
return'Not?a?zip?archive';
case20:
return'Internal?error';
case21:
return'Zip?archive?inconsistent';
case22:
return'Can\'t?remove?file';
case23:
return'Entry?has?been?deleted';
default:
return'An?unknown?error?has?occurred('.intval($code).')';
}
}
public?functionisDir($path)
{
returnsubstr($path,-1)?=='/';
}
public?functiongetTree()
{$Tree=?array();$pathArray=?array();
for($i=0;$inumFiles;$i++)
{$path=$this->getNameIndex($i);$pathBySlash=array_values(explode('/',$path));$c=count($pathBySlash);$temp=?&$Tree;
for($j=0;$j
if(isset($temp[$pathBySlash[$j]]))$temp=?&$temp[$pathBySlash[$j]];
else
{$temp[$pathBySlash[$j]]?=?array();$temp=?&$temp[$pathBySlash[$j]];
}
if($this->isDir($path))$temp[$pathBySlash[$c-1]]?=?array();
else$temp[]?=$pathBySlash[$c-1];
}
return$Tree;
}
}?>
[#4]
jekillen at prodigy net [2015-04-13 07:23:29]
Calling?ZipArchive->open()?will?not?create?an?empty?zip?archive?file.
I?found?this?out?the?hard?way.?I?wrote?code?that?produced?positive
results:?I.E.?the?return?value?from?the?call?to?ZipArchive?was?TRUE
and?the?empty?zip?file?was?not?created.?So?at?least?call
ZipArchive->addFromString(,?'')
when?creating?a?new?zip?archive?file.
[#5]
Eric Langlois [2014-01-29 21:53:23]
$zip=?newZipArchive;$res=$zip->open('test.zip',ZipArchive::CREATE);
if?($res===TRUE)?{//CODE?GOES?HERE$zip->close();
}?else?{
switch($res){
caseZipArchive::ER_EXISTS:$ErrMsg="File?already?exists.";
break;
caseZipArchive::ER_INCONS:$ErrMsg="Zip?archive?inconsistent.";
break;
caseZipArchive::ER_MEMORY:$ErrMsg="Malloc?failure.";
break;
caseZipArchive::ER_NOENT:$ErrMsg="No?such?file.";
break;
caseZipArchive::ER_NOZIP:$ErrMsg="Not?a?zip?archive.";
break;
caseZipArchive::ER_OPEN:$ErrMsg="Can't?open?file.";
break;
caseZipArchive::ER_READ:$ErrMsg="Read?error.";
break;
caseZipArchive::ER_SEEK:$ErrMsg="Seek?error.";
break;
default:$ErrMsg="Unknow?(Code$rOpen)";
break;
}
die('ZipArchive?Error:?'.$ErrMsg);
}?>
[#6]
walter at clevertechie dot com [2012-11-17 20:53:33]
If?you?have?archives?that?you?want?to?overwrite?just?use:
ZIPARCHIVE::CREATE
It?will?overwrite?existing?archives?and?at?the?same?time?create?new?ones?if?they?don't?already?exist.
ZIPARCHIVE::OVERWRITE?won't?work?for?both?of?these?scenarios.
(PHP?version?5.4.4)
[#7]
YiiWanAB at hotmail dot com [2011-08-30 10:06:21]
Most?of?the?time?people?iterate?over?a?directory?with?'opendir'?or?'readdir'?to?add?files?to?a?zip.?Like...
while?($file?=?readdir($dir))?{?...?$zip->addFile($file)?}
Note?that?$zip->addFile($file)?will?only?work?in?the?current?directory?if?your?at?the?root.?You?will?need?to?add?the?correct?path?to?that?$file?string?variable?to?have?the?full?file?name?like?...
$zip->addFile($dir?.?DIRECTORY_SEPARATOR?.?$file);?will?work.
This?may?identify?why?you?may?get?a?read?error?when?closing?the?file.
Enjoy.
[#8]
sunil dt bhave at gmail dt com [2011-03-16 22:44:27]
Even?though?the?api?specifies?that?the?flags?are?optional?I?found?that?I?had?to?specify?the?flag?ZIPARCHIVE::CREATE?for?an?archive?to?be?opened.
This?is?on?a?Windows?7?system?with?PHP?5.3.0
[#9]
Jan Vavra [2011-03-10 00:04:28]
As?discussed?in?http://bugs.php.net/bug.php?id=54128?on?Windows?Server?systems?(2003,?2008)?and?IIS?there?is?a?problem?when?you?want?to?unzip?file?stored?in?C:\Windows\Temp?folder.
User?of?worker?process?IUSR_XXX?has?no?directory?listing?right?for?C:\Windows\Temp?and?this?is?a?reason?why?ZipArchive::open()?fails?with?error?11?(error?open).?So?it?is?not?a?good?idea?to?store?file?for?unzipping?in?folder?defined?by?sys_get_temp_dir().
[#10]
sebwoolford at gmail dot com [2009-10-23 03:29:32]
Further?to?what?rickky?at?gmail?dot?com?was?saying,?I've?had?that?problem?while?trying?to?cache?zip?files?and?found?that?I?had?to?set?the?permissions?of?the?containing?folder?to?777?to?get?it?to?work.
Because?this?is?a?potential?security?weakness?if?on?a?public?viewable?folder,?I'd?recommend?moving?the?folder?so?that?it?is?no?longer?within?public_html.?You?can?then?use?readfile()?to?output?the?archive?to?the?browser,?with?some?HTTP?headers?to?tell?the?browser?it?is?a?zip?file.
[#11]
michael202 at gmx dot de [2009-07-29 06:33:00]
to?anyone?getting?an?error?ZIPARCHIVE::ER_READ?=?5,?when
doing?$zip->open($zipfile)?with?a?ZIP?file?containing?a?total?of?more?then?(around)?800?files?(even?when?they?are?in?sub-directories).
possibly?related?bugs?40873,?8714:
1.?it?was?not?an?OS?limit,?because?it?worked?when?called?from?windows?via?samba?on?the?same?file?at?the?same?place
2.?it?wasn't?working?under?32bit?linux
with?php?5.3.0?the?issue?seems?to?be?resolved.
[#12]
eric at webdeveric dot com [2009-02-06 07:06:21]
With?php?5.2.6,?the?following?code?created?a?new?zip?or?replaced?a?existing?zip.
Note?that?I?am?only?using?the?ZIPARCHIVE::OVERWRITE?flag.
$zip=?newZipArchive();$opened=$zip->open($zipFileName,ZIPARCHIVE::OVERWRITE);
if($opened!==true){
die("cannot?open{$zipFileName}for?writing.");
}$zip->addFromString($name,$contents);$zip->close();?>
Now,?with?php?5.2.8,?it?does?not?work?and?gives?this?warning:
Warning:?ZipArchive::addFromString()?[ziparchive.addfromstring]:?Invalid?or?unitialized?Zip?object?in?[myfile]?on?line?[myline]
To?fix?this,?you?must?specify?the?flags?as?create?or?overwrite.
$zip=?newZipArchive();$opened=$zip->open($zipFileName,ZIPARCHIVE::CREATE|ZIPARCHIVE::OVERWRITE);
if($opened!==true){
die("cannot?open{$zipFileName}for?writing.");
}$zip->addFromString($name,$contents);$zip->close();?>
When?googling?for?the?error?message?I?found?a?lot?of?people?that?had?it?but?couldn't?figure?out?why?they?were?getting?it.
I?hope?this?helps?someone.
[#13]
jj at icglink dot com [2008-12-04 11:09:37]
if?you?are?echoing?out?the?output?and?confused?about?the?number...maybe?this?will?help.??i'm?not?totally?sure?it?is?accurate?though.
ZIPARCHIVE::ER_EXISTS?-?10
ZIPARCHIVE::ER_INCONS?-?21
ZIPARCHIVE::ER_INVAL?-?18
ZIPARCHIVE::ER_MEMORY?-?14
ZIPARCHIVE::ER_NOENT?-?9
ZIPARCHIVE::ER_NOZIP?-?19
ZIPARCHIVE::ER_OPEN?-?11
ZIPARCHIVE::ER_READ?-?5
ZIPARCHIVE::ER_SEEK?-?4
[#14]
azsymvelik at gmail dot com [2008-08-01 13:25:57]
<?php $somefile="zip.zip";$someurl="/some/url"$zip=?newZipArchive;$open=$zip->open($somefile,ZIPARCHIVE::CHECKCONS);//?If?the?archive?is?broken(or?just?another?file?renamed?to?*.zip)?the?function?will?return?error?on?httpd?under?windows,?so?it's?good?to?check?if?the?archive?is?ok?with?ZIPARCHIVE::CHECKCONSif?($open===TRUE)?{
if(!$zip->extractTo($someurl))?{
die?("Error?during?extracting");
}$zip->close();
}$new_archive_name="new.zip";$new_zip=?newZipArchive;$new_open=$new_zip->open($new_archive_name,ZIPARCHIVE::CREATE);
if?($new_open===TRUE)?{$dir=opendir($someurl);
while?($file=readdir($dir))?{
if?($file=="."||$file=="..")?{?}?else?{//We?do?not?wanna?this?files?in?the?new?zip?archiveif?(!$new_zip->addFile($file))?{
print$file."was?not?added!
";
}
}
}
}$new_zip->close();?>
[#15]
Jonathan Baltazar [2008-07-23 07:14:22]
The?file?name?does?not?need?to?end?in?'.zip'?if?it?is?created?using?tempnam().??You?just?need?to?overwrite?the?file?instead?of?trying?to?read?it:
$file=tempnam("tmp","zip");$zip=?newZipArchive();//?Zip?will?open?and?overwrite?the?file,?rather?than?try?to?read?it.$zip->open($file,ZipArchive::OVERWRITE);$zip->close();//?Stream?the?file?to?the?clientheader("Content-Type:?application/zip");header("Content-Length:?".filesize($file));header("Content-Disposition:?attachment;?filename=\"a_zip_file.zip\"");readfile($file);unlink($file);?>
[#16]
olivier pons [2008-05-16 00:26:45]
If?you?try?this?to?open?a?file?with?creation?in?mind?(=?empty?zip?to?fill?with?other?files),?this?may?not?work?:
$res?=?$zip->open($zip_file,?ZipArchive::CREATE);
//?you?may?get?false
Try?this?instead,?it?should?work?:
$res?=?$zip->open($zip_file,?ZIPARCHIVE::OVERWRITE);
[#17]
rickky at gmail dot com [2007-07-02 05:07:38]
If?the?directory?you?are?writing?or?saving?into?does?not?have?the?correct?permissions?set,?you?won't?get?any?error?messages?and?it?will?look?like?everything?worked?fine...?except?it?won't?have?changed!
Instead?make?sure?you?collect?the?return?value?of?ZipArchive::close().?If?it?is?false...?it?didn't?work.
總結(jié)
以上是生活随笔為你收集整理的php slaveok_ZipArchive::open的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql版本不一致会导致uuid_My
- 下一篇: mysql怎么创建表视频教程_mySQL