php / php/php-src

Add stream context metadata options for compress.zlib:// protocol wrapper so that original mtime and name can be given

Aperta
#10,222 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Category: Streams Extension: zlib Feature
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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.