ZIP a folder with PHP preserving file properties2019 Community Moderator ElectionPHP - Download file and preserve timestamp?How can I prevent SQL injection in PHP?PHP: Delete an element from an arrayConvert HTML + CSS to PDF with PHP?startsWith() and endsWith() functions in PHPHow do I get PHP errors to display?How Do You Parse and Process HTML/XML in PHP?Reference — What does this symbol mean in PHP?How does PHP 'foreach' actually work?Why shouldn't I use mysql_* functions in PHP?PHP native class ZipArchive can't unzip Huge File with PHP7.0,libzip 1.1.2, zip 1.15.1

Decoding assembly instructions in a Game Boy disassembler

Word for a person who has no opinion about whether god exists

Best mythical creature to use as livestock?

Am I not good enough for you?

Can "semicircle" be used to refer to a part-circle that is not a exact half-circle?

How do anti-virus programs start at Windows boot?

Why does Deadpool say "You're welcome, Canada," after shooting Ryan Reynolds in the end credits?

Co-worker team leader wants to inject the crap software product of his friends into our development. What should I say to our common boss?

Time dilation for a moving electronic clock

Question about partial fractions with irreducible quadratic factors

Touchscreen-controlled dentist office snowman collector game

Can the druid cantrip Thorn Whip really defeat a water weird this easily?

Identifying the interval from A♭ to D♯

Does Linux have system calls to access all the features of the file systems it supports?

What exactly is the purpose of connection links straped between the rocket and the launch pad

My adviser wants to be the first author

Latest web browser compatible with Windows 98

Confusion with the nameplate of an induction motor

As a monk, can you make a melee attack roll using your Strength modifier, but roll damage with your Dexterity modifier?

Welcoming 2019 Pi day: How to draw the letter π?

What is the likely impact on flights of grounding an entire aircraft series?

How could a female member of a species produce eggs unto death?

Counter-example to the existence of left Bousfield localization of combinatorial model category

Provisioning profile doesn't include the application-identifier and keychain-access-groups entitlements



ZIP a folder with PHP preserving file properties



2019 Community Moderator ElectionPHP - Download file and preserve timestamp?How can I prevent SQL injection in PHP?PHP: Delete an element from an arrayConvert HTML + CSS to PDF with PHP?startsWith() and endsWith() functions in PHPHow do I get PHP errors to display?How Do You Parse and Process HTML/XML in PHP?Reference — What does this symbol mean in PHP?How does PHP 'foreach' actually work?Why shouldn't I use mysql_* functions in PHP?PHP native class ZipArchive can't unzip Huge File with PHP7.0,libzip 1.1.2, zip 1.15.1










2















I use PHP ZIPArchive to create zip file from folder and user doesn't want to change the original file created date when download. my code is below and is there any option that helps to keep the file created date?



 function zipData($source, $destination, $fname) 
if (extension_loaded('zip'))
if (file_exists($source))
$zip = new ZipArchive();
if ($zip->open($destination, ZIPARCHIVE::CREATE))
$source = realpath($source);
if (is_dir($source))
$iterator = new RecursiveDirectoryIterator($source);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file)
$file = realpath($file);
if (is_dir($file))
$zip->addEmptyDir(str_replace($source . '/', '', $fname . '/' . $file . '/'));
else if (is_file($file))
$zip->addFromString(str_replace($source . '/', '', $fname . '/'. $file), file_get_contents($file));


else if (is_file($source))
$zip->addFromString(basename($source), file_get_contents($source));


return $zip->close();


return false;










share|improve this question






















  • This has been already discussed here: stackoverflow.com/questions/35083308/… Are you looking for this?

    – Marvin Klar
    Mar 7 at 13:10











  • This is not the one I'm looking for. My issue is when zip file create all the files inside the zip file will change to time they request the zip file. I want to keep the original time stamp of the file inside the zip file.

    – Thameera
    Mar 8 at 1:51











  • Since I currently don't have the possiblity to test it, I have to ask, if you already have tried using $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.

    – Marvin Klar
    Mar 8 at 8:01












  • Great to hear that! I just created a concluding answer. Feel free to accept it.

    – Marvin Klar
    yesterday















2















I use PHP ZIPArchive to create zip file from folder and user doesn't want to change the original file created date when download. my code is below and is there any option that helps to keep the file created date?



 function zipData($source, $destination, $fname) 
if (extension_loaded('zip'))
if (file_exists($source))
$zip = new ZipArchive();
if ($zip->open($destination, ZIPARCHIVE::CREATE))
$source = realpath($source);
if (is_dir($source))
$iterator = new RecursiveDirectoryIterator($source);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file)
$file = realpath($file);
if (is_dir($file))
$zip->addEmptyDir(str_replace($source . '/', '', $fname . '/' . $file . '/'));
else if (is_file($file))
$zip->addFromString(str_replace($source . '/', '', $fname . '/'. $file), file_get_contents($file));


else if (is_file($source))
$zip->addFromString(basename($source), file_get_contents($source));


return $zip->close();


return false;










share|improve this question






















  • This has been already discussed here: stackoverflow.com/questions/35083308/… Are you looking for this?

    – Marvin Klar
    Mar 7 at 13:10











  • This is not the one I'm looking for. My issue is when zip file create all the files inside the zip file will change to time they request the zip file. I want to keep the original time stamp of the file inside the zip file.

    – Thameera
    Mar 8 at 1:51











  • Since I currently don't have the possiblity to test it, I have to ask, if you already have tried using $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.

    – Marvin Klar
    Mar 8 at 8:01












  • Great to hear that! I just created a concluding answer. Feel free to accept it.

    – Marvin Klar
    yesterday













2












2








2








I use PHP ZIPArchive to create zip file from folder and user doesn't want to change the original file created date when download. my code is below and is there any option that helps to keep the file created date?



 function zipData($source, $destination, $fname) 
if (extension_loaded('zip'))
if (file_exists($source))
$zip = new ZipArchive();
if ($zip->open($destination, ZIPARCHIVE::CREATE))
$source = realpath($source);
if (is_dir($source))
$iterator = new RecursiveDirectoryIterator($source);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file)
$file = realpath($file);
if (is_dir($file))
$zip->addEmptyDir(str_replace($source . '/', '', $fname . '/' . $file . '/'));
else if (is_file($file))
$zip->addFromString(str_replace($source . '/', '', $fname . '/'. $file), file_get_contents($file));


else if (is_file($source))
$zip->addFromString(basename($source), file_get_contents($source));


return $zip->close();


return false;










share|improve this question














I use PHP ZIPArchive to create zip file from folder and user doesn't want to change the original file created date when download. my code is below and is there any option that helps to keep the file created date?



 function zipData($source, $destination, $fname) 
if (extension_loaded('zip'))
if (file_exists($source))
$zip = new ZipArchive();
if ($zip->open($destination, ZIPARCHIVE::CREATE))
$source = realpath($source);
if (is_dir($source))
$iterator = new RecursiveDirectoryIterator($source);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file)
$file = realpath($file);
if (is_dir($file))
$zip->addEmptyDir(str_replace($source . '/', '', $fname . '/' . $file . '/'));
else if (is_file($file))
$zip->addFromString(str_replace($source . '/', '', $fname . '/'. $file), file_get_contents($file));


else if (is_file($source))
$zip->addFromString(basename($source), file_get_contents($source));


return $zip->close();


return false;







php ziparchive






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 7 at 10:36









ThameeraThameera

134




134












  • This has been already discussed here: stackoverflow.com/questions/35083308/… Are you looking for this?

    – Marvin Klar
    Mar 7 at 13:10











  • This is not the one I'm looking for. My issue is when zip file create all the files inside the zip file will change to time they request the zip file. I want to keep the original time stamp of the file inside the zip file.

    – Thameera
    Mar 8 at 1:51











  • Since I currently don't have the possiblity to test it, I have to ask, if you already have tried using $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.

    – Marvin Klar
    Mar 8 at 8:01












  • Great to hear that! I just created a concluding answer. Feel free to accept it.

    – Marvin Klar
    yesterday

















  • This has been already discussed here: stackoverflow.com/questions/35083308/… Are you looking for this?

    – Marvin Klar
    Mar 7 at 13:10











  • This is not the one I'm looking for. My issue is when zip file create all the files inside the zip file will change to time they request the zip file. I want to keep the original time stamp of the file inside the zip file.

    – Thameera
    Mar 8 at 1:51











  • Since I currently don't have the possiblity to test it, I have to ask, if you already have tried using $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.

    – Marvin Klar
    Mar 8 at 8:01












  • Great to hear that! I just created a concluding answer. Feel free to accept it.

    – Marvin Klar
    yesterday
















This has been already discussed here: stackoverflow.com/questions/35083308/… Are you looking for this?

– Marvin Klar
Mar 7 at 13:10





This has been already discussed here: stackoverflow.com/questions/35083308/… Are you looking for this?

– Marvin Klar
Mar 7 at 13:10













This is not the one I'm looking for. My issue is when zip file create all the files inside the zip file will change to time they request the zip file. I want to keep the original time stamp of the file inside the zip file.

– Thameera
Mar 8 at 1:51





This is not the one I'm looking for. My issue is when zip file create all the files inside the zip file will change to time they request the zip file. I want to keep the original time stamp of the file inside the zip file.

– Thameera
Mar 8 at 1:51













Since I currently don't have the possiblity to test it, I have to ask, if you already have tried using $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.

– Marvin Klar
Mar 8 at 8:01






Since I currently don't have the possiblity to test it, I have to ask, if you already have tried using $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.

– Marvin Klar
Mar 8 at 8:01














Great to hear that! I just created a concluding answer. Feel free to accept it.

– Marvin Klar
yesterday





Great to hear that! I just created a concluding answer. Feel free to accept it.

– Marvin Klar
yesterday












1 Answer
1






active

oldest

votes


















0














As described in the comments, we have to use $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.






share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55041689%2fzip-a-folder-with-php-preserving-file-properties%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    As described in the comments, we have to use $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.






    share|improve this answer



























      0














      As described in the comments, we have to use $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.






      share|improve this answer

























        0












        0








        0







        As described in the comments, we have to use $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.






        share|improve this answer













        As described in the comments, we have to use $zip->addFile("yourfilename") instead of $zip->addFromString(). Because this will Add[...] a file to a ZIP archive from the given path and don't create a new file by Add[ing] a file to a ZIP archive using its contents.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered yesterday









        Marvin KlarMarvin Klar

        18417




        18417





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55041689%2fzip-a-folder-with-php-preserving-file-properties%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

            2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

            Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme