- PHP : Reassembler fichier sur serveur - CodeS SourceS
- PHP : Gestion de petits fichiers sur serveur http - revival http filetransfer - CodeS SourceS
- Transfer de fichiers client/serveur avec ip sur serveur web
- Java : Filetransporter - envoi de fichiers client/serveur - CodeS SourceS
- Envoi/réception de fichiers (client/serveur) [dev-c++]
utilisation de mes propres mots, ou aussi appellé 'le celebre effet mirroir' avec lequel
je faisais deja fureur a la maternelle.
aller je t'accrode le dernier mot. tu as gagné .. (pas grand chose en fait.)
++ sous le bus
a force de lire à droite à gauche, jai fait ça qui me va mieux :
<?php /*********************************************************************************************
Usage: Decouper votre fichier avec HJSplit (http://www.treepad.net/download/hjsplit.zip)
Uploader toutes les parties sur votre site par ftp.
Uploader ce script dans le même répertoire.
Une fois tout uploadé, ouvrir ce script php avec le browser (testé avec Internet Explorer)
Le script va assembler les fichiers ffffff.xxx.001, ffffff.xxx..002 etc. du répertoire où il se trouve.
Le résultat sera dans le fichier ffffff.xxx
La progression de l'assemblage est indiquée par un message pour chaque partie assemblée.
Si le fichier résultat ffffff.xxx existe déjà ou si le script ne trouve pas de fichier *.001, rien n'est effectué.
A l'utilisateur d'effacer à la fin les parties *.001, *.002 etc.
ATTENTION!!!, Lors du reassemblage votre page web peut planter (erreur 503) !
Il semble que meme apres le plantage de la page web, php continue de reassembler :)))
Utiliser votre logiciel FTP pour voir l'avancement du re-assemblage.
N'EFFACER SURTOUT PAS le fichier sur le ftp car meme si il ne semble plus grossir
Il se peut que vous ne le voyez pas (reconnecter vous sur le ftp),
De plus une fausse manip et vous plantez le server php ! [sur free en tout cas]
*************************************************************************************************/
/* parcours du dossier courant pour trouver un fichier portant l'extension .001 */
$dossier = opendir (".");
$existe001= False;
echo "ASSEMBLAGE GROS FICHIER
";
while ($fichier = readdir ($dossier))
{
if(substr($fichier,-3) == "001")
{
$existe001= True;
$fichier_a_assembler = substr($fichier,0,strlen($fichier)-4);
echo "Fichier a assembler : " , $fichier_a_assembler, "
";
}
}
closedir ($dossier);
/* si pas de fichier .001 trouvé, exit */
if(!$existe001) die("
*** PAS DE FICHIER .001 TROUVE ***");
/* verication que le fichier résultant n'existe pas déjà !!! */
if (file_exists($fichier_a_assembler)) die("
*** Le fichier résultat ". $fichier_a_assembler . " EXISTE DEJA !!! ***");
/* assemblage du fichier */
$BUF_MAX =10000000;
$zeros = '00';
$i = '001';
$i=(int)$i;
$handle2 = fopen($fichier_a_assembler, "ab");
while(file_exists($fichier_a_assembler.".".$zeros.$i))
{
$handle = fopen($fichier_a_assembler.".".$zeros.$i, "rb");
while(fwrite($handle2,fread($handle,$BUF_MAX)));
fclose($handle);
echo "--partie ", $zeros, $i , " ajoutée.
";
$i++;
if($i 10) $zeros '0';
elseif($i 100) $zeros '';
}
fclose($handle2);
echo "
Le fichier " , $fichier_a_assembler , " a été ré-assemblé avec succès.";
echo "
Sa taille est de " , filesize($fichier_a_assembler) , " octets.";
?>
C'était d'apres moi une reflexion completement inutile, juste mettre "Pour les autres, sachez que je viens du language C et que le php ne m'interesse que tres peu." aurait été largement suffisant.
Voila pourquoi j'ai réagit ainsi. J'ai pas attaqué, j'ai défendu.
"(jespere ne pas tavoir outré, en toute sinceritée)", moi non plus :)
biensur, mes programme en C ne fonctionne pas,
pas plus que mon code php, ce code est parfaitement inutile et c'est a ce demander pourquoi je l'ai posté.
j'ajoute que les commentaires comme 'tu n'es pas un dieu en ma connaissance et ton code le prouve ...' apporte un reel interet au debat et donne clairement la sensation d'une entente cordiale et intelligente. (jespere ne pas tavoir outré, en toute sinceritée)
alkasar:
tout est automatique normalement,
suffit davoir les fichier .00x du meme nom que le fichier final
exemple:
bonjour.avi (700mo)
bonjour.avi.001 (50mo)
bonjour.avi.002 (50mo)
bonjour.avi.003 (50mo)
bonjour.avi.004 (50mo)
[...]
$file sera "bonjour.avi"
De plus l'impression de passer pour un 'autiste programmeur' me passe largement au dessus de la tete au vu des reflexions pertinentes dont vous me faites part et qui donne a ce code un petit coté rustique avant-gardiste.