diff --git a/.gitignore b/.gitignore index 297ddc5..2a5246d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea .phpunit.result.cache vendor -composer.lock \ No newline at end of file +composer.lock +.DS_Store diff --git a/README.md b/README.md index 0b1c5c1..f160659 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,10 @@ Pour utiliser cette fonctionnalité, vous appelez simplement la méthode htmlFor ```php $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() : +```php +$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é. diff --git a/composer.json b/composer.json index 08a0de5..469d881 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "nwb/multi-downloader-client", "description": "Client for multi-downloader-service", "type": "library", - "version": "0.0.8", + "version": "0.0.9", "autoload": { "psr-4": { "Nwb\\MultiDownloaderClient\\": "src/" @@ -24,4 +24,4 @@ "scripts": { "test": "phpunit" } -} +} \ No newline at end of file diff --git a/src/MultiDownloaderClient.php b/src/MultiDownloaderClient.php index feced5b..ab8b5e4 100644 --- a/src/MultiDownloaderClient.php +++ b/src/MultiDownloaderClient.php @@ -126,10 +126,25 @@ class MultiDownloaderClient * sous forme de chaîne de caractères. Utilisée pour générer dynamiquement * un formulaire de téléchargement dans une page web. * + * @param string $fileName Nom du fichier zip à télécharger. Si non spécifié, le nom du fichier sera généré automatiquement. * @return string Le formulaire HTML généré pour le téléchargement. */ - public function htmlForm(): string + public function htmlForm($fileName = null): string { + + $zipName = ''; // Utilisé dans htmlForm.php + if (!empty($fileName)) { + $zipName = trim($fileName); + // Si le nom du fichier ne se termine pas par .zip, on l'ajoute + if (substr($zipName, -4) !== '.zip') { + $zipName .= '.zip'; + } + + // Si le nom du fichier ne commence pas par un slash, on l'ajoute + if (substr($zipName, 0, 1) !== '/') { + $zipName = '/' . $zipName; + } + } $json_string = addslashes(json_encode($this->buildRequest())); ob_start(); include __DIR__ . '/htmlForm.php'; diff --git a/src/htmlForm.php b/src/htmlForm.php index 8cca8a6..6feab69 100644 --- a/src/htmlForm.php +++ b/src/htmlForm.php @@ -24,7 +24,7 @@ use Nwb\MultiDownloaderClient\MultiDownloaderClient;