webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 2009
-
16 janv. 2007 à 18:43
superpok
Messages postés6Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 1 avril 2007
-
1 avril 2007 à 16:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
superpok
Messages postés6Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 1 avril 2007 1 avril 2007 à 16:52
bien vu codefalse;
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
cs_alkasar
Messages postés3Date d'inscriptionmardi 30 janvier 2007StatutMembreDernière intervention21 février 2007 21 févr. 2007 à 22:48
je voulais dire automatique dans le sens 'ne pas avoir a modifier $file dans le script'
a force de lire à droite à gauche, jai fait ça qui me va mieux :
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]
echo "
Le fichier " , $fichier_a_assembler , " a été ré-assemblé avec succès.";
echo "
Sa taille est de " , filesize($fichier_a_assembler) , " octets.";
?>
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 21 févr. 2007 à 22:26
en fait c'est ton "Voila pourquoi j'ai si peu de consideration pour les details dont vous me faite part." qui "apporte un reel interet au debat et donne clairement la sensation d'une entente cordiale et intelligente."
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 :)
superpok
Messages postés6Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 1 avril 2007 21 févr. 2007 à 22:15
codefalse:
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.
cs_alkasar
Messages postés3Date d'inscriptionmardi 30 janvier 2007StatutMembreDernière intervention21 février 2007 1 févr. 2007 à 00:46
j'ai compris le buf_max. Simplement la quantité d'octets max lus par fread a chaque fois. Le nom de la variable m'a induit en erreur.
J'ai aussi réussi a faire ce que je voulais pour automatiser la recherche de .001 et assembler ce fichier. Plus besoin de modifier le fichier script ;)
cs_alkasar
Messages postés3Date d'inscriptionmardi 30 janvier 2007StatutMembreDernière intervention21 février 2007 30 janv. 2007 à 12:08
bonjour. je n'y connais rien a php et pas grand chose à la programmation ;) mais j'avais besoin d'un tel script pour uploader des gros fichiers chez Free et je suis content de l'avoir trouvé. Merci Google. Ca marche.
Une question sur BUF_MAX a 10 000 000. Ca correspond a quoi ? c'est pas la taille max en octets car j'ai pu envoyer un fichier morcelé par tranches de 10Mo.
quelle est en réalité la taille maxi des morceaux de fichiers splités avec HJsplit (HJSplit s'exprime en Ko ou en Mo)
Autre suggestion : il n'y aurait pas moyen d'améliorer ce script pour qu'il assemble automatiquement les fichiers avec extension .001, .002, etc. dans le répertoire. A priori on fait pas ça souvent et il n'y a que peu de risque d'erreurs. Ca éviterait d'avoir à modifier $file dans le script a chaque fois.
une dernière option : effacer automatiquement les temporaires .001, .002, etc. quand l'assemblage s'est bien terminé.
En tout cas merci pour ce script qui m'a permis d'envoyer mon fichier :D
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 24 janv. 2007 à 16:22
Superpok, tu dit "venir du language C" et tu arrive à proposer un code du genre :
if ($i "10") $deb '0';if ($i == "100") $deb = '';
???
mais !!! elles marchaient au moin tes applications ?!
Pourquoi prendre de haut les commentaires qu'on te fait ? tu n'es pas un dieu en ma connaissance et ton code le prouve ...
superpok
Messages postés6Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 1 avril 2007 20 janv. 2007 à 14:54
Pour les autres, sachez que je viens du language C et que le php ne m'interesse que tres peu. Voila pourquoi j'ai si peu de consideration pour les details dont vous me faite part.
superpok
Messages postés6Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 1 avril 2007 20 janv. 2007 à 14:47
heu caviar, si jai compris ce que demande, je ne pense pas que sa soit possible.
et ce n'est pas tout les jour qu'on upload un fichier de plus de 800mo (environ 1h45 de connexion pour moi). [2h max chez free]
Apres si ta seulement 1mb en upload je comprends que tu apprecierais plus de simplicité.
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 19 janv. 2007 à 20:53
intéressant comme astuce ...
ya pas une autre astuce pour couper automatiquement le fichier lors de l'upload ... histoire de passer outre le time max pour l'exe des scripts ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 janv. 2007 à 08:07
Superpok => ce que te dit Webdeb est parfaitement juste concernant le tag de départ : mettre <?php au lieu de <? assure la compatibilité du code sur tou les serveurs (ton code, en l'état, plantera sur les miens).
Et ça :
if ($i "10") $deb '0';if ($i == "100") $deb = '';
c'est effectivement très moyen.
Au pire :
if ($i 10 || $i 1000) {
$deb = '';
}
superpok
Messages postés6Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 1 avril 2007 16 janv. 2007 à 19:06
okay sa roule, tu prends le point !
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 16 janv. 2007 à 18:43
Il est un peu crade ton code...
1/ Les balises PHP c'est <?php et non <?
2/ On ne met pas de guillemets ou d'apostrophes autour des nombres
1 avril 2007 à 16:52
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
21 févr. 2007 à 22:48
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.";
?>
21 févr. 2007 à 22:26
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 :)
21 févr. 2007 à 22:15
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.
1 févr. 2007 à 00:46
J'ai aussi réussi a faire ce que je voulais pour automatiser la recherche de .001 et assembler ce fichier. Plus besoin de modifier le fichier script ;)
30 janv. 2007 à 12:08
Une question sur BUF_MAX a 10 000 000. Ca correspond a quoi ? c'est pas la taille max en octets car j'ai pu envoyer un fichier morcelé par tranches de 10Mo.
quelle est en réalité la taille maxi des morceaux de fichiers splités avec HJsplit (HJSplit s'exprime en Ko ou en Mo)
Autre suggestion : il n'y aurait pas moyen d'améliorer ce script pour qu'il assemble automatiquement les fichiers avec extension .001, .002, etc. dans le répertoire. A priori on fait pas ça souvent et il n'y a que peu de risque d'erreurs. Ca éviterait d'avoir à modifier $file dans le script a chaque fois.
une dernière option : effacer automatiquement les temporaires .001, .002, etc. quand l'assemblage s'est bien terminé.
En tout cas merci pour ce script qui m'a permis d'envoyer mon fichier :D
24 janv. 2007 à 16:22
if ($i "10") $deb '0';if ($i == "100") $deb = '';
???
mais !!! elles marchaient au moin tes applications ?!
Pourquoi prendre de haut les commentaires qu'on te fait ? tu n'es pas un dieu en ma connaissance et ton code le prouve ...
20 janv. 2007 à 14:54
20 janv. 2007 à 14:47
et ce n'est pas tout les jour qu'on upload un fichier de plus de 800mo (environ 1h45 de connexion pour moi). [2h max chez free]
Apres si ta seulement 1mb en upload je comprends que tu apprecierais plus de simplicité.
19 janv. 2007 à 20:53
ya pas une autre astuce pour couper automatiquement le fichier lors de l'upload ... histoire de passer outre le time max pour l'exe des scripts ?
18 janv. 2007 à 08:07
Et ça :
if ($i "10") $deb '0';if ($i == "100") $deb = '';
c'est effectivement très moyen.
Au pire :
if ($i 10 || $i 1000) {
$deb = '';
}
16 janv. 2007 à 19:06
16 janv. 2007 à 18:43
1/ Les balises PHP c'est <?php et non <?
2/ On ne met pas de guillemets ou d'apostrophes autour des nombres