Question

Je suis la mise en place d'un script pour que je puisse entrer une URL vers une page Web et le script wget le fichier. La plupart d'entre cependant, les fichiers, seront au format *.rar. Y at-il de toute façon je peux passer le nom de fichier à la commande unrar décompacter les fichiers téléchargés via wget?

Un grand merci à l'avance!

EDIT je pensais à l'aide de la fonction de explode() de PHP pour briser l'URL par les barres obliques (/), mais qui semble un hack-y bits.

Était-ce utile?

La solution

@Wyzard donne la meilleure réponse. S'il y a une bibliothèque qui résout votre problème, utilisez au lieu de bifurquer un processus externe. Il est plus sûr et c'est la solution propre. PHP cURL et RAR sont bons, les utiliser.

Toutefois, si vous devez utiliser wget et unrar, puis donne @rik une bonne réponse. L'option de wget -O filename enregistre le fichier en tant que filename, de sorte que vous ne devez pas travailler dehors. Je voudrais plutôt la sortie de conduite wget directement à unrar si, en utilisant wget -q -O - http://www.example.com | unrar.

@ réponse de Byron est utile, mais vous devriez vraiment pas besoin de l'utiliser ici. Il est toutefois mieux que d'utiliser explode() comme modifier mentionne.

Autres conseils

Au lieu de bifurquer vers des programmes externes à télécharger et extraire le fichier, vous devriez envisager d'utiliser propre PHP et href="http://www.php.net/manual/en/book.rar.php" rel="nofollow"> RAR extensions. Vous pouvez utiliser le tmpfile () fonction pour créer un fichier temporaire, l'utilisation comme la valeur de l'option CURLOPT_FILE pour faire cURL Enregistrez le fichier téléchargé il, puis ouvrez ce fichier avec les fonctions de RAR pour extraire le contenu.

basename() pour obtenir le nom du fichier.

wget -O filename URL && unrar filename

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top