Giter VIP home page Giter VIP logo

Comments (8)

Gemorroj avatar Gemorroj commented on June 14, 2024 1

@mvorisek I tried to use ffi, but because ffi does not support preprocessor directives (see first note https://www.php.net/manual/en/ffi.cdef.php), it is very difficult to load the header file. I've put it off for now.

from archive7z.

Gemorroj avatar Gemorroj commented on June 14, 2024

It seems that 7zip does not have such an opportunity. You can combine addEntry and renameEntry.
This task can be left as an improvement, but not in the near future.

from archive7z.

scratcher28 avatar scratcher28 commented on June 14, 2024

+1, could you please provide a 100% working example?

from archive7z.

wapmorgan avatar wapmorgan commented on June 14, 2024

@scratcher28, first of all, rename function is available only from 9.30 alpha version of 7zip.

Example is simple (from UnifiedArchive):

$this->sevenZip->addEntry($filename);
$this->sevenZip->renameEntry($filename, $localName);

from archive7z.

mvorisek avatar mvorisek commented on June 14, 2024

What about using FFI?

from archive7z.

mvorisek avatar mvorisek commented on June 14, 2024

What about preprocessing the header files with https://github.com/metala/ccpp ? It is quite old and not very popular project, but it might be enough and seems to be well written based on the C specs.

Currently the only article on web using FFI is https://stackoverflow.com/questions/18562959/python-cffi-7z-dll-com-access-violations-sometimes and it is for Python. It is also only for extraction. But it seems that only a few C declarations may be required which can even be hardcoded in this project.

from archive7z.

mvorisek avatar mvorisek commented on June 14, 2024

@Gemorroj Do you have the experiment code available and do you want to reconsider the ffi solution for this project again?

from archive7z.

Gemorroj avatar Gemorroj commented on June 14, 2024

@mvorisek I don't plan any activity with ffi for the foreseeable future.
I deleted my experiments because I thought the technology was still too raw. Either requires a decent knowledge of C.

from archive7z.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.