17 Juin 2006
Couper une chaine au n caractère
Compatibilité : PHP 5, PHP 7
Couper, tronquer une chaine au n caractère à la hauteur du mot mot et lui ajouter 3 points (...) en fin de chaine.
Découpe des fichiers volumineux en plusieurs parties et rassemble ensuite les parties pour reformer le fichier.
Description du projet:
Vous remarquerez sans doute que de nos jours bon nombre d'hébergeur (gratuits surtout) interdisent les fichiers de plus de 10Go... Vous remarquerez également que c'est extrêment ennuyeux de les couper, parce qu'en plus votre visiteur doit avoir le ou les programmes adaptés pour les reconstituer et c'est souvent très lourd. Je vous propose donc une solution simple, très simple même (23 lignes de code à vrai dire). Jetez donc un coup d'oeil au code puis aux explications finales pour mettre ce code en oeuvre correctement (en fait vous devrez comme même spliter vos fichier mais vos visiteurs pourront télécharger un beau fichier complet et en un morceau, si si regardez plus bas).
Dernière explications (après le code normalement, mais bon):Un dernier conseil quelque peut astucieux: pour votre fichier file.truc, vous pouvez creer un dossier s'appelant file.truc et contenant les différentes parties. Vous y mettrez aussi la seconde partie du code (celle qui réassemble) avec la bonne valeur de $file dans un fichier nommé "index.php". Ainsi quand le visiteur ira sur http://votresite.com/file.truc le téléchargement se lancera tout de suite... comme si c'était un vrai fichier!
Ensuite vous pouvez modifier le code selon vos besoin: modifier le header (si c'est une image et que le header définit une image cette image peut s'afficher directement dans le navigateur). Il peut aussi être utilisé comme sécurité pour ceux qui utilisent allopass.
D'ailleurs je n'ai pas mis de démo et je n'en ai pas l'intention parce que je suis limité au niveau de la bande passante.
|
php.net | Description | Versions PHP | OUTIL |
---|---|---|---|
die | Alias de la fonction exit() | PHP 4, PHP 5, PHP 7, PHP 8 | |
echo | Affiche une chaîne de caractères | PHP 4, PHP 5, PHP 7, PHP 8 | |
fclose | Ferme un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
feof | Teste la fin du fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
fgets | Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
file_exists | Vérifie si un fichier existe | PHP 4, PHP 5, PHP 7, PHP 8 | |
fopen | Ouverture d'un fichier ou d'une URL | PHP 4, PHP 5, PHP 7, PHP 8 | |
fwrite | Ecrit un fichier en mode binaire | PHP 4, PHP 5, PHP 7, PHP 8 | |
header | Envoie un en-tête HTTP | PHP 4, PHP 5, PHP 7, PHP 8 | |
readfile | Affiche un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
strlen | Calcule la taille d'une chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
strstr | Trouve la première occurrence dans une chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
Couper, tronquer une chaine au n caractère à la hauteur du mot mot et lui ajouter 3 points (...) en fin de chaine.
Coupe une chaine en autant de portions de tailles égales. Le restant est placé à la fin du tableau retourné, si besoin.
Retourne le chemin, le path d'un fichier et analyse la chaine en nom du répertoire, fichier, extension.
Découpe, sépare un texte en mots. Retourne un tableau avec les mots, dans l'ordre de la chaine.
Recompose une chaine de mots en fonction des Majuscules en utilisant la fonction preg_split () pour séparer les mots où se trouve une lettre majuscule.
Invité
01 Mars 2011 à 10:34Bonjour! Ta source aparêt en 1er sur google quand on tape "découper fichier php", bravo =) En effet, je cherchai une source similaire pour le problème que tu évoques, mais dans mon cas il ne le résoud que partielement: Je cherche a mettre en place un systeme de gestion de fichier, et ces fichier comprenne des vidéo. Si sa ne tennai qu'a moi, j'utiliserai un des logiciel que tu évoques pour faire la découpe, mais c'est pas pour moi, mon gestionnaire doit inclure cette fonctionnalité. C'est quand même bête de prendre un serveur dédié juste pour pouvoir uploader des vidéos, (qui au meilleur des cas se fera 3 4 foix par ans en ce qui les concernent xD) Pense tu qu'il sois possible en PHP (ou au pire en JS) de découper les fichier? Puis de les réassembler en interne? Car les vidéo doivent être luent en streaming...et je crois pas que ce sois possible a partir d'un fichier découpé. Je cherche bien sur de mon coté.