begin process at 2012 02 11 16:28:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > CONTOURNER LA LIMITE DE TAILLE DES FICHIERS IMPOSÉE PAR CERTAINS HÉBERGEURS

CONTOURNER LA LIMITE DE TAILLE DES FICHIERS IMPOSÉE PAR CERTAINS HÉBERGEURS


 Information sur la source

Note :
8,86 / 10 - par 7 personnes
8,86 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :assembler, limite, taille, hébergeur, split Niveau :Débutant Date de création :17/06/2006 Date de mise à jour :01/07/2006 01:46:33 Vu :13 863

Auteur : kurt67

Ecrire un message privé
Site perso
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

Vous remarquerez sans doute que de nos jours bon nombre d'hébergeur (grauits surtout) interdisent les gros fichiers: maximum 500ko (awardspace.com), 300ko (gig4free.com) etc... 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. Jetez donc un coup d'oeil au code puis aux explications finales pour mettre ce code en oeuvre correctement.
Pour le code il y a deux parties correspondant à deux fichiers distincts. Le premier est le code d'une page à uploader sur le serveur de votre hébergeur gratuit. Elle vous permettra de découper vos fichiers à uploader et créer un fichier php contenant le code du réassembleur de fichier. C'est donc la solution facile puisque tout se fait automatiquement. Cependant faites attention, il est fort recommandé de supprimer ce fichier de votre serveur sinon n'importe qui peut y uploader n'importe quoi, ou alors ajoutez au code un systême de protection.
La seconde partie est uniquement le code du réassembleur de fichier. Il vous faut juste paramêtrer la variable $file qui contient le nom de base de votre fichier. Le code va alors réassembler le fichier, en mettant à la suite "$file.000", puis "$file.001", etc jusqu'à ce que "$file.xxx" n'existe pas. Vous devez également découper vos fichiers vous même, vous pouvez utiliser un joli programme (HJsplit pour les windoziens ou bien KJsplit ou gnusplit pour le unixiens, les purs), ou bien utiliser la commande split pour les beaux et braves unixiens (cf post plus bas ou tapez split --help dans un terminal pour avoir de l'aide sur cette commande).
Bon je crois avoir dit ce qu'il y avait à dire... mais surtout n'oubliez pas d'aller sur mon site et de cliquer sur les pubs: http://phpmagic.awardspace.com/ (surtout si vous avez aimé le code)

Source

  • # Le premier fichier (la partie automatisée) #
  • <?php
  • echo '<?xml version="1.0" encoding="utf-8"?>';
  • ?>
  • <!DOCTYPE html
  • PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  • "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  • <style type="text/css">
  • body{font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif; font-size:14px;}
  • table{font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif; font-size:14px;}
  • a:link{font-size:14px; Text-Decoration:none; color : #000000;font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;background-color:transparent;}
  • a:active{font-size:14px; Text-Decoration:none; color : #000000;font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;}
  • a:visited{font-size:14px; Text-Decoration:none; color : #000000;font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;}
  • a:hover{color : #000000;font-size:14px; Text-Decoration:underline; font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;}
  • input{color:#333333;border-width:1px;border-color:#666666;border-style:solid;margin:auto;}
  • </style>
  • <title>Réconciliez vous avec votre hébergeur gratuit</title>
  • </head>
  • <body>
  • <p style="font-size: 12px; font-family: Verdana, arial;"><b><big>&Eacute;</big>vitez la restricion de taille des fichiers impos&eacute;e par votre h&eacute;bergeur</b><br /><br /></p>
  • <hr />
  • <form enctype="multipart/form-data" action="upload.php" method="post"><p>Cutsize (taille maximale des fichiers en ko): <input name="cutsize" type="text" value="500" /><br />Utiliser un fichier sur votre machine: <input type="file" name="userfile" /><br /><input type="checkbox" name="createfolder" value="1" /> Placer les parties du fichier dans un dossier ayant le nom du fichier<br /><input type="checkbox" name="createphpfile" value="1" /> Cr&eacute;er un fichier contenant le code du r&eacute;assembleur de fichier (il sera nomm&eacute; "index.php" si les parties sont dans un dossier ou sera nomm&eacute; nom_du_fichier.extension.php dans le cas contraire)<br /><input type="submit" value="Envoyer le fichier" /></p></form>
  • <hr />
  • <p>
  • <?php
  • if (isset($_POST["cutsize"]))
  • $cutsize = $_POST["cutsize"] * 1024;
  • else
  • $cutsize = 1024*800;
  • if (isset($_FILES['userfile']['name']))
  • {
  • $file = basename($_FILES['userfile']['name']);
  • echo "D&eacute;tails de l'upload du fichier ".$file.":<br />\n";
  • $path = "";
  • if (isset($_POST["createfolder"]) && $_POST["createfolder"]=="1")
  • {
  • $path = $file."/";
  • if (!is_dir($file))
  • {
  • mkdir ($file, 0755) or die ("Erreur fatale: impossible de c&eacute; le fichier ".$file);
  • echo "Dossier ".$file." cr&eacute;e avec succ&egrave;s...\n";
  • }
  • else
  • echo "Le dossier ".$file." existe d&eacute;j&agrave;...<br />\n";
  • }
  • $handle = fopen($_FILES['userfile']['tmp_name'], "rb")
  • or die ("Impossible de lire le fichier upload&eacute;!");
  • $i = 0;
  • while (!feof($handle))
  • {
  • $istring = str_pad($i, 3, '0', STR_PAD_LEFT);
  • $partstring = "";
  • while(strlen($partstring)<$cutsize && !feof($handle))
  • $partstring .= fgets($handle, $cutsize-strlen($partstring)+1);
  • $partfile = fopen($path.$file.".".$istring, "wb") or die("Erreur fatale: impossible d'ouvrir ".$file.".".$istring);
  • fwrite($partfile, $partstring) or die("Erreur fatale: impossible d'écrire dans ".$file.".".$istring);
  • fclose($partfile);
  • echo "Fichier $i ecrit<br />\n";
  • $i++;
  • }
  • fclose($handle);
  • echo "Le fichier ".$file." a &eacute;t&eacute; d&eacute;coup&eacute; en ".$i." parties.<br />\n";
  • $code = '<?php
  • $file = "'.$file.'";
  • if (!file_exists($file.".000"))
  • die("Partie 000 de $file non trouvée");
  • if (strstr($HTTP_USER_AGENT,"MSIE"))
  • $attachment = "";
  • else
  • $attachment = " attachment;";
  • header("Content-type: application/octet-stream");
  • header("Content-Disposition:$attachment filename=$file");
  • header("Content-Description: File Transfer");
  • $istring = "000";
  • $i = 0;
  • while(file_exists($file.".".$istring))
  • {
  • readfile($file.".".$istring);
  • $i++;
  • $istring = str_pad($i, 3, "0", STR_PAD_LEFT);
  • }
  • ?>';
  • if (isset($_POST["createphpfile"]) && $_POST["createphpfile"]=="1")
  • {
  • if (isset($_POST["createfolder"]) && $_POST["createfolder"]=="1")
  • {
  • $phpfile = fopen($path."index.php", "w") or die("Erreur fatale: impossible d'ouvrir ".$phpfile);
  • }
  • else
  • {
  • $phpfile = fopen($file.".php", "w") or die("Erreur fatale: impossible d'ouvrir ".$phpfile.".php");
  • }
  • fwrite($phpfile, $code) or die("Erreur fatale: impossible d'écrire dans ".$phpfile);
  • fclose($phpfile);
  • echo "Code php &eacute;crit avec succ&egrave;s<br />\n";
  • }
  • echo "</p><hr />";
  • }
  • else
  • echo "</p>";
  • ?>
  • <p>
  • </p>
  • <p style="font-size: 12px; font-family: Verdana, arial;"><a href="http://validator.w3.org/check?uri=referer"><img style="border:0px;width:88px;height:31px" src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" /></a>
  • <a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="border:0px;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /></a></p>
  • </body>
  • </html>
  • # Fin du premier fichier #
  • # Le second fichier (code qui réassemble vos parties) #
  • <?php
  • /* La partie du code la plus importante: celle qui réassemble le fichier $file des
  • parties "$file.000", "$file.001", etc... Et les donne en téléchargement à l'utilisateur.
  • */
  • // Votre fichier
  • $file = "file.rar";
  • // S'il n'y a pas la première partie ça ne sert à rien
  • if (!file_exists($file.".000"))
  • die("Partie 000 de $file non trouvée");
  • // Microsoft internet explorer qui fait chier parce qu'il ne respecte pas les
  • // normes oblige à rajouter du code
  • if (strstr($HTTP_USER_AGENT,"MSIE"))
  • $attachment = "";
  • else
  • $attachment = " attachment;";
  • // Vous pouvez changer le type de fichier si vous le voulez
  • header("Content-type: application/octet-stream");
  • header("Content-Disposition:$attachment filename=$file");
  • header("Content-Description: File Transfer");
  • // La boucle qui assemble les fichiers
  • $istring = "000";
  • $i = 0;
  • while(file_exists($file.".".$istring))
  • {
  • // Que c'est beau readfile()... les parties ne sont pas ouvertes donc ça ne
  • // devrait pas trop prendre de temps même pour les gros fichiers
  • readfile($file.".".$istring);
  • $i++;
  • $istring = $i;
  • while (strlen($istring) < 3)
  • $istring = "0".$istring;
  • }
  • // C'est fini... A vous de jouer --> http://phpmagic.awardspace.com/
  • ?>
  • # Fin du second fichier #
# Le premier fichier (la partie automatisée) #
<?php
echo '<?xml version="1.0" encoding="utf-8"?>';
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body{font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif; font-size:14px;}
table{font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif; font-size:14px;}
a:link{font-size:14px; Text-Decoration:none; color : #000000;font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;background-color:transparent;}
a:active{font-size:14px; Text-Decoration:none; color : #000000;font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;}
a:visited{font-size:14px; Text-Decoration:none; color : #000000;font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;}
a:hover{color : #000000;font-size:14px; Text-Decoration:underline; font-family:'Sans', 'Helvetica', 'Verdana','Hoefler Text', 'Times New Roman','Times New Roman', Times, serif;}
input{color:#333333;border-width:1px;border-color:#666666;border-style:solid;margin:auto;}
</style>
<title>Réconciliez vous avec votre hébergeur gratuit</title>
</head>
<body>
<p style="font-size: 12px; font-family: Verdana, arial;"><b><big>&Eacute;</big>vitez la restricion de taille des fichiers impos&eacute;e par votre h&eacute;bergeur</b><br /><br /></p>
<hr />
<form enctype="multipart/form-data" action="upload.php" method="post"><p>Cutsize (taille maximale des fichiers en ko): <input name="cutsize" type="text" value="500" /><br />Utiliser un fichier sur votre machine: <input type="file" name="userfile" /><br /><input type="checkbox" name="createfolder" value="1" /> Placer les parties du fichier dans un dossier ayant le nom du fichier<br /><input type="checkbox" name="createphpfile" value="1" /> Cr&eacute;er un fichier contenant le code du r&eacute;assembleur de fichier (il sera nomm&eacute; "index.php" si les parties sont dans un dossier ou sera nomm&eacute; nom_du_fichier.extension.php dans le cas contraire)<br /><input type="submit" value="Envoyer le fichier" /></p></form>
<hr />
<p>
<?php


if (isset($_POST["cutsize"]))
    $cutsize = $_POST["cutsize"] * 1024;
else
    $cutsize = 1024*800;

if (isset($_FILES['userfile']['name']))
{
    $file = basename($_FILES['userfile']['name']);
    echo "D&eacute;tails de l'upload du fichier ".$file.":<br />\n";
    $path = "";
    if (isset($_POST["createfolder"]) && $_POST["createfolder"]=="1")
    {
        $path = $file."/";
        if (!is_dir($file))
        {
            mkdir ($file, 0755) or die ("Erreur fatale: impossible de c&eacute; le fichier ".$file);
            echo "Dossier ".$file." cr&eacute;e avec succ&egrave;s...\n";
        }
        else
            echo "Le dossier ".$file." existe d&eacute;j&agrave;...<br />\n";
    }
    $handle = fopen($_FILES['userfile']['tmp_name'], "rb")
        or die ("Impossible de lire le fichier upload&eacute;!");
    $i = 0;
    while (!feof($handle))
    {
        $istring = str_pad($i, 3, '0', STR_PAD_LEFT);
        $partstring = "";
        while(strlen($partstring)<$cutsize && !feof($handle))
            $partstring .= fgets($handle, $cutsize-strlen($partstring)+1);
        $partfile = fopen($path.$file.".".$istring, "wb") or die("Erreur fatale: impossible d'ouvrir ".$file.".".$istring);
        fwrite($partfile, $partstring) or die("Erreur fatale: impossible d'écrire dans ".$file.".".$istring);
        fclose($partfile);
        echo "Fichier $i ecrit<br />\n";
        $i++;
    }
    fclose($handle);
    echo "Le fichier ".$file." a &eacute;t&eacute; d&eacute;coup&eacute; en ".$i." parties.<br />\n";
    $code = '<?php
$file = "'.$file.'";
if (!file_exists($file.".000"))
    die("Partie 000 de $file non trouvée");
if (strstr($HTTP_USER_AGENT,"MSIE"))
    $attachment = "";
else
    $attachment = " attachment;";
header("Content-type: application/octet-stream");
header("Content-Disposition:$attachment filename=$file");
header("Content-Description: File Transfer");

$istring = "000";
$i = 0;
while(file_exists($file.".".$istring))
{
    readfile($file.".".$istring);
    $i++;
    $istring = str_pad($i, 3, "0", STR_PAD_LEFT);
}
?>';
    if (isset($_POST["createphpfile"]) && $_POST["createphpfile"]=="1")
    {
        if (isset($_POST["createfolder"]) && $_POST["createfolder"]=="1")
        {
            $phpfile = fopen($path."index.php", "w") or die("Erreur fatale: impossible d'ouvrir ".$phpfile);
        }
        else
        {
            $phpfile = fopen($file.".php", "w") or die("Erreur fatale: impossible d'ouvrir ".$phpfile.".php");
        }
        fwrite($phpfile, $code) or die("Erreur fatale: impossible d'écrire dans ".$phpfile);
        fclose($phpfile);
        echo "Code php &eacute;crit avec succ&egrave;s<br />\n";
    }
    echo "</p><hr />";
}
else
    echo "</p>";
?>
<p>
</p>
<p style="font-size: 12px; font-family: Verdana, arial;"><a href="http://validator.w3.org/check?uri=referer"><img style="border:0px;width:88px;height:31px" src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" /></a>
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="border:0px;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /></a></p>
</body>
</html>

# Fin du premier fichier #

# Le second fichier (code qui réassemble vos parties) #

<?php
/* La partie du code la plus importante: celle qui réassemble le fichier $file des
parties "$file.000", "$file.001", etc... Et les donne en téléchargement à l'utilisateur.
*/
// Votre fichier
$file = "file.rar";
 
// S'il n'y a pas la première partie ça ne sert à rien
if (!file_exists($file.".000"))
    die("Partie 000 de $file non trouvée");
 
// Microsoft internet explorer qui fait chier parce qu'il ne respecte pas les
// normes oblige à rajouter du code
if (strstr($HTTP_USER_AGENT,"MSIE"))
    $attachment = "";
else
    $attachment = " attachment;";
// Vous pouvez changer le type de fichier si vous le voulez
header("Content-type: application/octet-stream");
header("Content-Disposition:$attachment filename=$file");
header("Content-Description: File Transfer");
 
// La boucle qui assemble les fichiers
$istring = "000";
$i = 0;
while(file_exists($file.".".$istring))
{
    // Que c'est beau readfile()... les parties ne sont pas ouvertes donc ça ne
    // devrait pas trop prendre de temps même pour les gros fichiers
    readfile($file.".".$istring);
    $i++;
    $istring = $i;
    while (strlen($istring) < 3)
        $istring = "0".$istring;
}
// C'est fini... A vous de jouer --> http://phpmagic.awardspace.com/
?> 

# Fin du second fichier #

 Conclusion

Si vous avez aimé allez sur mon site et cliquez sur le pubs: http://phpmagic.awardspace.com/
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 et nommerez le fichier "index.php". Ainsi quand le visiteur ira sur votresite.com/file.truc le téléchargement se lancera tout de suite... comme si c'était un vrai fichier! Vous pouvez également utiliser le code du premier fichier et cocher les checkboxes, et ce sera fait tout seul.
Bon j'attend les commentaires avec impatiente, ce seraient cool que des gens essaient ce code et disent sur quel serveur il fonctionne (normalement il devrait fonctionner pour tout les hébergeurs ayant php, mais on sait jamais...)


 Historique

01 juillet 2006 01:46:33 :
Le premier fichier peut maintenant être utilisé directement sur le serveur de l'hébergeur. En fait quand on uploade un fichier, il est placé dans un dossier temporaire par le serveur, il y a ensuite des fonctions php pour le copier. Ici, c'est directement le fichier temporaire qui est ouvert et coupé en fichiers de taille autorisée.

 Sources du même auteur

Source avec Zip Source avec une capture DORY NAVIGATOR: EXPLORATEUR DE FICHIERS ET DE DOSSIERS
Source avec Zip MASTER'S GUESTBOOK (LIVRE D'OR)
Source avec Zip Source avec une capture CHAT UTILISANT LA FONCTION SLEEP
Source avec Zip Source avec une capture BOUTON "PARCOURIR" PERMETTANT À L'UTILISATEUR DE SÉLECTIONNE...
Source avec Zip IMAGECREATEFROMBMP ET IMAGEBMP

 Sources de la même categorie

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151
TROUVER LES DOUBLONS DANS UNE LISTE DE FICHIERS par soobook

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture IMC (OU BMI EN ANGLAIS) ET CALCULE DE VOTRE POID IDÉAL par zulrigh
Source avec Zip CODE POUR HÉBERGEUR D'IMAGE par bonhommecrea
CONTOURNER LIMITE DES 2MO POUR L'ENVOIE DE FICHIERS (CHEZ FR... par djmoa
REASSEMBLER FICHIER SUR SERVEUR par superpok
Source avec Zip [PHP5] LIMIT PACKAGE - LIMITATION GENERIQUE D'UN JEU DE RESU... par malalam

Commentaires et avis

Commentaire de Anthomicro le 17/06/2006 11:53:28

"Si vous avez aimé allez sur mon site 'et cliquez sur le pubs'"

C'est pas interdit de faire ça ?

Commentaire de kurt67 le 17/06/2006 12:37:30

Interdit pourquoi? J'ai mis mon code sur phpcs donc pas de problême. Et pour le pubs google, je doute que google soit franchement content que les utilisateurs cliquent pour aider le webmaster et non parce que les pubs les intéresse, mais bon tant pis. De toute façon le site n'est visité que par des googlebots :D
Sinon je précise parce que c'était pas très bien expliqué: le code php de la ligne 1 à 32 n'est pas vraiment importante, c'est juste pour couper un fichier. Mais dans aucun cas, ne mettez toutes les lignes de 1 à 67 dans un même fichier. La seconde partie (lignes 34 à 67) sert à réassembler le fichier. Je dis ça parce qu'on ne sait jamais, sur d'autres sources je me suis déjà heurté à des incompréhensions de newbies sur des choses qui me paraissaient évidentes (c'est pas un reproche cela dit).
Je précise également que ce code peut être un très bon complément de sécurité pour ceux qui utilisent le systême allopass avec le php.
Le code que j'ai posté est largement améliorable (par exemple généré un header différent en fonction du fichier) mais c'est à vous de voir... J'attend vos commentaires.

Commentaire de KOS le 17/06/2006 12:46:54

Ben franchement, c'est bien pensé, et bravo pour tes recherches... surtout pour les providers libres et gratuits auquel souvent, ils limitent la taille des fichiers...


Bravoo !!!

Commentaire de FhX le 17/06/2006 13:28:47

"Le code que j'ai posté est largement améliorable"
"Mais si vous avez php en localhost vous pouvez vous servir du code suivant."

==> Si t'as PHP en localhost, c'est que t'as accès à Apache... :o

Commentaire de kurt67 le 17/06/2006 13:31:43

Oui bien sur mais moi perso j'ai php en localhost mais mon site est sur un hébergeur gratuit parce que ma connexion n'est pas suffisante et je n'ai pas mon pc allumé h24. Ce que je veux dire c'est qu'on peut s'en servir pour couper le fichier, mais c'est plus simple d'utiliser un vrai programme comme ceux cités.

Commentaire de WhiteDwarf le 17/06/2006 20:30:00

Heu... j'ai un fichier de 20mo chez free :-S

Commentaire de kurt67 le 17/06/2006 23:21:26

Tiens c'est bizarre... j'ai un pote qui m'a dit qu'il n'arrivait pas à uploader les fichiers de plus de 2mo... Peut-être qu'ils l'ont mis en place récemment? Tu l'as depuis longtemps ton fichier de 20mo sur free?

Commentaire de WhiteDwarf le 18/06/2006 00:26:29

oui assez :)

J'ai ce compte chez free depuis 4 ans et le fichier ca fais bien un an et demi qu'il est dessus

mais ils on peut être limités depuis...

Commentaire de Evangun le 18/06/2006 11:08:20

La taille maximum d'un fichier uploadé chez Free c'est 80Mo en ftp et 2Mo en http. à+

Commentaire de J_G le 18/06/2006 11:32:02

Salut,

Ma foi, cette source est originale... Donc c'est intéressant!
Par contre, le niveau "initié" est peut-être légèrement sur-évalué. Non ? Les fonction fopen, fgets et readfile sont tout de même la base...
Enfin c'est mon avis

A+

Petit commentaire en plus :
Dans la partie découpage de fichier
# while (strlen($istring) < 3)
#         $istring = "0".$istring;
Il existe une fonction pour ça http://fr.php.net/manual/fr/function.str-pad.php
# $istring = str_pad($istring, 3, '0', STR_PAD_LEFT);

Commentaire de kurt67 le 18/06/2006 11:37:49

Euh... "Niveau de la source : Débutant". On peut pas mettre plus bas il me semble, si?
En tout cas merci pour le conseil et un de ces 4 je ferais une update avec ta fonction.

Commentaire de J_G le 18/06/2006 11:45:58

Excuse, j'avais lu "Initié".

Commentaire de TheSin le 18/06/2006 13:29:26

Très intéressant, c'est pas bête du tout et très bien pensé :-)
Ca devrait servir à plus d'un je pense ;-)

Commentaire de WhiteDwarf le 19/06/2006 05:31:44

J'ai testé et j'aime beaucoup le principe, j'ai aussi testé un upload au passage, j'ai uploadé 4mo sur free et c'est passé...

En tout cas le code est bon et très bien pensé, bravo ^^
aller 8/10

Commentaire de aze555666 le 19/06/2006 18:45:37

très très bien.
J'avais justement eu le probleme avec des photos 6Mpx que je voulais mettre sur pandela (pour ceux qui ne connaissent pas, www.pandela.com est un exellment hébergeur gratuit. fo juste comprendre l'anglais le temps de créer le compte).
10/10 pour l'idée, la réalisation, et l'utilité du code.

Commentaire de kurt67 le 19/06/2006 19:52:25

lol merci :D
Il y a quelque chose de très utile que j'aimerais posté mais je ne suis pas sur de son fonctionnement (il a "l'air de fonctionner", mais j'aimerais de vrais avis).
En fait l'idée serait d'uploader les fichiers du pc sur le serveur via un script php qui découpe directement en morceaux ce fichier. Rappelez vous de la procédure: on utilise une fonction pour copier le fichier uploadé dans le cache de l'hébergeur dans un dossier du site. Maintenant en remplaçant 2 lignes de la première parties (celle qui définie $file et la ligne du fopen) par celles-ci:
$file = basename($_FILES['userfile']['name']);
$handle = fopen($_FILES['userfile']['tmp_name'], "rb")
or die ("Lecture impossible !");
On ouvre le fichier qui est dans le cache de l'hébergeur et les lignes qui le suivent le coupe en fichier de taille autorisée. Pretty cool n'est-ce pas? Mais la question du siècle vient maintenant: est-ce que le host a déjà appliqué sa restriction aux fichiers en cache? Sur awardspace ça marchait, mais ça serait bien si des gens pouvaient essayer. Je ne m'y connais pas trop non plus en config de apache: pour appliquer cette restriction l'applique-t'on juste aux fichiers uploadés par ftp?

Commentaire de zeratul67 le 25/06/2006 14:23:34

Ce qui serait sympa c'est une découpe et un upload via un script client, type javascript. Malheureusement il me semble que c'est bien trop incursif pour que le navigateur laisse faire ...

Commentaire de Killvador le 27/06/2006 14:02:24

Pour les GNU/linuxiens, la commande split ressemble à ceci :

split -b taille -d -a 3 fichier fichier.

ou vous pouvez utilisez les suffixes k et m pour la taille (pour free 1 ou 2 m est une bonne taille).

le premier "fichier" est le nom du fichier à découper et le second est le préfixe (donc ne SURTOUT pas oublier le point à la fin).

Voila, j'aurais envie de dire gg kurt !

Pour démonstration de ce système : http://wildersmovies.free.fr/ -> la Maison de l'erreur
Quoi? de la pub??, mais vous mentez ! c'est pas vrai!

Commentaire de kurt67 le 27/06/2006 17:30:27

wow chouettos je ne savais pas qu'il y avait une commande...
et pour répondre à zeratul67, comme je l'ai dit précédemment cette découpe est possible en php, tout simplement en découpant le fichier uploadé quand il est encore dans le fichier temporaire du serveur (la restriction de taille n'est alors pas encore appliquée). Regardez le code que j'ai uploadé sur mon site: http://phpmagic.awardspace.com il découpe le fichier et créer le fichier contenant le code php qui le re-rassemble. Dites moi ce que vous en pensez et j'aimerais bien que des gens l'essayent (en fait je ne suis pas sur à 100% que ça fonctionne sur tout les serveurs, mais si c'est le cas j'updaterais le code de phpcs).
Par contre découper en javascript, à mon avis, ça le fait pas trop :D

Commentaire de ironzorg le 18/09/2006 18:45:50

Pas mal ... Perso j'aime bien meme si cela ne relève pas de ma compétence de donner mon avis dans ce genre de site ( genre site dédié au PHP :p )

Signé : un inconditionnel du cpp ...

Commentaire de kurt67 le 29/12/2006 11:24:50

Bon j'ai updaté mon code, mais très franchement, maintenant que j'ai mis mon site à jour j'ai la flemme d'updater la source de phpcs
Donc faites un tour sur le site si vous voulez l'update: http://phpmagic.awardspace.com/

Commentaire de creat1 le 18/10/2007 19:36:11

Je ne comprends pas comment vous faites.
Le script fonctionne tres bien, tant que le fichier
à une taille inferieur à upload_max_filesize.

Des que le fichier depasse cette taille, le script ne recoit meme
pas l'info venant du formulaire!
isset($_FILES['userfile']['name']) est false!

pourriez vous m'aider?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

focntion mail , taille limite dans $body? [ par johnpelu ] bonjour a tous , y a t'il une taille limite pour la variable $body de la fonction mail() ??????merci limite dans la taille des variables dans php ? [ par arche31 ] Bonjour, je gere des liste de mails stockée dans une base MySQL tout fonctionnait impec jusqu'à ceque la liste de mail s'est aggrandie (>50 adresses) Adaptation taille bannière [ par ichigoZ710 ] Bonsoir,Voilà mon problème est simple je bosse pour un ami sur un site et il m'a demander de lui faire un truc pour sa bannière.Le problème c'est que Probleme Code Upload et insertion Mysql [ par MaitreLgTbD ] MaitreLgTbD    Bonjour,C'est encore moije sollicite votre aide, actuellement en stage mon projet sollicite un bout de code de upload tous fichiers con Idée pour stocker fichier uploader dans mysql et récuperation URL [ par MaitreLgTbD ] Bonjour,je sollicite votre aide dans l'espoir d'avoir une réponse rapidement mon dernier post étant surement trop complexe je n'ai eu aucune réponse j GD + taille de texte [ par Kickaha59 ] Bonjour à tous,J'utilise une page avec le font-family Arial. J'utilise le drag&amp;drop pour déplacer des morceaux de texte sur une image. Je peux don modifier la taille d'une zone de texte pdf [ par dido44 ] salut,est ce que on peut modifier la taille d'une zone de texte pdf ( par exemple l'hauteur de texte pour ajouter l'entête ou un titre) en php ou un l Redimensionner une image et croper si nécessaire [ par alphacrash ] Bonjour à tous ! Je me heurte à un problème de redimensionnement des images sur un site que j'essaye de développer. En fait, je souhaite que pour n'i Probleme Background [ par M4T ] Bonjour a tous ! Je cherche un moyen de fixer mon background (background de taille bien supérieur a la taille du site) a mon site pour qu'il soit tou Augmenter la taille de texte ou demunuer avec cookis et php [ par hicham_899 ] bonjour à tous pour ce moment j'essaye de faire un script qui permet de augmenter la taille de police en cliquant sur une image, je met le code suivan


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales