I am not sure, but I have something for you to try.
at the bottom of the functions.php file you will find a line that reads: `if (!function_exists('zip_open')) { include('pclZip.php'); }`
Try changing it to `if (!function_exists('zip_open')) { require('pclZip.php'); }`
Your PHP apparently does not have zip support. That should have been taken care of by the line above. However, as written there would be no error if the file could not be loaded. The change will give an error. If you get the error, then somehow the pclZip.php file is missing.
The code above should have replaced the require line. Without the require line there should be no inclusion of the pclZIP.php file.
So, you should not have the line `if (!function_exists('zip_open')) { include('pclZip.php'); }` (or whatever it looks like now.) You should just have the function unzip declaration above.
That has nothing to do with zip and the only reason why you would get that is if you do not have functions.php or you have messed with functions-db.php.
I restarted with the original functions.php file and make the changes I upload the pclzip.lib.php to the zp-core folder now the error is : "Fatal error: Cannot redeclare getoption() (previously declared in /home/www/web69/web/zenphoto/zp-core/template-functions.php:1646) in /home/www/web69/web/zenphoto/zp-core/functions.php on line 43"
what do I do wrong ?
I need some rest (it's 1 AM in France) I talk to you tommorrow thank you very much
The problem with getoption() sounds like you have mixed files from the 1.1 release with files from the 1.1.1 release. After you are rested (and can think straight again) install again the version 1.1.1 files unchanged and make sure things are working (other than the zip upload).
Comments
at the bottom of the functions.php file you will find a line that reads:
`if (!function_exists('zip_open')) { include('pclZip.php'); }`
Try changing it to
`if (!function_exists('zip_open')) { require('pclZip.php'); }`
Your PHP apparently does not have zip support. That should have been taken care of by the line above. However, as written there would be no error if the file could not be loaded. The change will give an error. If you get the error, then somehow the pclZip.php file is missing.
pclZip.php is present in my zp-core folder
"Fatal error: Cannot redeclare zip_open() in /home/www/web69/web/zenphoto/zp-core/pclZip.php on line 45"
`
function unzip($file, $dir) {
$zip = zip_open($file);
if ($zip) {
while ($zip_entry = zip_read($zip)) {
// Skip non-images in the zip file.
if (!is_image(zip_entry_name($zip_entry))) continue;
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$path_file = str_replace("/",DIRECTORY_SEPARATOR, $dir . '/' . zip_entry_name($zip_entry));
$fp = fopen($path_file, "w");
fwrite($fp, $buf);
fclose($fp);
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
}`
"Fatal error: Cannot redeclare zip_open() in /home/www/web69/web/zenphoto/zp-core/pclZip.php on line 45"
... I did'nt see the difference between the original lines and those you ask me to write.
replace
`
if (!function_exists('zip_open')) { include('pclZip.php'); }
`
with
`
function unzip($file, $dir)
{ //check if zziplib is installed
if(function_exists('zip_open()'))
{
$zip = zip_open($file);
if ($zip) {
while ($zip_entry = zip_read($zip)) {
// Skip non-images in the zip file.
if (!is_image(zip_entry_name($zip_entry))) continue;
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$path_file = str_replace("/",DIRECTORY_SEPARATOR, $dir . '/' . zip_entry_name($zip_entry));
$fp = fopen($path_file, "w");
fwrite($fp, $buf);
fclose($fp);
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
}else{
// Use Zlib
require_once('pclzip.php');
$zip = new PclZip($file);
if ($zip->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH) == 0) {
die("Error : ".$zip->errorInfo(true));
}
}
}
`
So, you should not have the line `if (!function_exists('zip_open')) { include('pclZip.php'); }` (or whatever it looks like now.) You should just have the function unzip declaration above.
now the error is :
"Fatal error: Call to undefined function zp_error() in /home/www/web69/web/zenphoto/zp-core/functions-db.php on line 31"
"Parse error: syntax error, unexpected $end in /home/www/web69/web/zenphoto/zp-core/functions.php on line 832"
and put the php file from the archive into your zp-core.
Then replace:
`
if (!function_exists('zip_open')) { include('pclZip.php'); }
`
with
`
function unzip($file, $dir)
{ //check if zziplib is installed
if(function_exists('zip_open()'))
{
$zip = zip_open($file);
if ($zip) {
while ($zip_entry = zip_read($zip)) {
// Skip non-images in the zip file.
if (!is_image(zip_entry_name($zip_entry))) continue;
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$path_file = str_replace("/",DIRECTORY_SEPARATOR, $dir . '/' . zip_entry_name($zip_entry));
$fp = fopen($path_file, "w");
fwrite($fp, $buf);
fclose($fp);
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
}else{
// Use Zlib
require_once('pclzip.lib.php');
$zip = new PclZip($file);
if ($zip->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH) == 0) {
die("Error : ".$zip->errorInfo(true));
}
}
}
`
I just tried this and it works for me.
I upload the pclzip.lib.php to the zp-core folder
now the error is :
"Fatal error: Cannot redeclare getoption() (previously declared in /home/www/web69/web/zenphoto/zp-core/template-functions.php:1646) in /home/www/web69/web/zenphoto/zp-core/functions.php on line 43"
what do I do wrong ?
I need some rest (it's 1 AM in France)
I talk to you tommorrow
thank you very much
Then try the suggestion that aitf311 has posted.
I follow aitf311's last post and ... everything works fine now !
again, thank you very much for your help
marc