Add stream context metadata options for compress.zlib:// protocol wrapper so that original mtime and name can be given
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.2k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
Description
Currently, when writing to a gz file using the compress.zlib:// protocol wrapper it is not possible to pass the mtime or name of the original file. It would be nice if we could do so without having to reopen the gzip file in write mode for write the metadata directly into it as in this bug report https://bugs.php.net/bug.php?id=46577
I believe that this can be done by adding new stream context options for zlib (similar to those for phar). See https://www.php.net/manual/en/context.php
The gzip file format supports the following meta data:
- compression method
- itype (text or binary)
- mtime (nice to have)
- size (thankfully set by compress.zlib:// )
- os
- original file name (nice to have)
- comment
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia ispezionando il wrapper del protocollo compress.zlib:// e la gestione delle relative opzioni di contesto dello stream, quindi confronta le opzioni di contesto phar esistenti citate nell’issue. Determina come mtime e il nome del file originale debbano essere passati ai metadati gzip e verifica che la scrittura tramite il wrapper preservi entrambi i valori senza riaprire il file.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, php
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100