|
||
---|---|---|
.devcontainer | ||
.vscode | ||
src | ||
tests | ||
.drone.yml | ||
.gitignore | ||
composer.json | ||
phpcs.xml | ||
phpunit.xml | ||
README.md |
multi-downloader-client
Le module "multi-downloader-client" est une bibliothèque PHP conçue pour simplifier le téléchargement de fichiers depuis différentes sources en les regroupant dans un seul fichier ZIP. Il offre une interface intuitive pour ajouter des fichiers à télécharger, les renommer, et récupérer le fichier ZIP résultant, que ce soit sous forme de chaîne de caractères ou en l'enregistrant directement sur le serveur.
Installation
Ajout via Composer
Pour intégrer le "multi-downloader-client" dans votre projet, commencez par ajouter le dépôt nécessaire dans votre fichier composer.json
:
{
"repositories": [{
"type": "composer",
"url": "https://git.nwb.fr/api/packages/modules-communs-php/composer"
}
]
}
Exécutez ensuite la commande suivante pour installer le module :
composer require nwb/multi-downloader-client:0.0.*
Configuration
Ce module utilise par défaut les variables d'environnement suivantes :
MULTI_DOWNLOADER_ACCESS_KEY
: clé d'accès de l'API.MULTI_DOWNLOADER_SECRET_KEY
: clé secrète de l'API.MULTI_DOWNLOADER_URL
: URL du service (par défaut:https://multi-dl.kub.nwb.fr
).
Ces variables peuvent être définies dans votre fichier .env
ou directement dans les paramètres de votre serveur.
Pour une configuration plus spécifique, notamment pour des tests ou des cas d'usage particuliers, vous pouvez passer ces paramètres directement au constructeur :
use Nwb\MultiDownloaderClient\MultiDownloaderClient;
$client = new MultiDownloaderClient([
'apiKey' => 'votre_api_key',
'apiSecret' => 'votre_api_secret',
'url' => 'url_custom'
]);
Utilisation Pratique
Ajout de Fichiers à Télécharger
$client = new MultiDownloaderClient();
$client->addFiles([
new FileRequest('http://example.com/image.png'),
new FileRequest('http://example.com/image1.png')
]);
Récupération du ZIP
- Sous forme de chaîne de caractères :
$zip = $client->downloadAsString();
- Enregistrement dans un fichier :
$client->downloadTo('/tmp/my-zip.zip');
Génération d'un Formulaire HTML pour le Téléchargement
Cette fonctionnalité du module "multi-downloader-client" permet de générer un formulaire HTML prêt à l'emploi pour le téléchargement des fichiers que vous avez ajoutés au client. Le formulaire généré peut être intégré dans votre page web et, une fois soumis, déclenchera le téléchargement des fichiers.
Pour utiliser cette fonctionnalité, vous appelez simplement la méthode htmlForm() sur votre objet MultiDownloaderClient. Voici comment cela se fait :
$form = $client->htmlForm();
Par défaut le nom du fichier ZIP généré sera "download.zip". Vous pouvez le personnaliser en passant un paramètre à la méthode htmlForm() :
$form = $client->htmlForm('mon-zip.zip');
Renommer les Fichiers dans le ZIP
Par défaut, les fichiers téléchargés sont nommés en fonction de leur URL. Vous pouvez cependant personnaliser le nom des fichiers dans le ZIP en utilisant la méthode name
de l'objet FileOptions
. Cette option peut être utile lorsque plusieurs fichiers ont le même nom ou lorsque vous souhaitez simplement renommer les fichiers pour une meilleure lisibilité.
$file = new FileRequest('http://example.com/image.png');
$file->getFileOptions()->name('nouveau_nom.png');
Fonctionnalités Avancées
FileRequest
: Personnalisation des requêtes de fichier avec des méthodes commeurl
,fallbackUrl
, etfileOptions
.MultiDownloaderClient
: Gestion avancée des téléchargements avec des méthodes commesetFiles
,buildRequest
, etsendRequest
.
Licence
Ce document et le code source qu'il décrit sont la propriété de [Nom de l'Entreprise]. Tous droits réservés. Aucune partie de ce document ou du code source ne peut être reproduite, distribuée ou transmise sous quelque forme ou par quelque moyen que ce soit, sans l'autorisation écrite préalable de l'éditeur.