10
votes

Former les limites et l'écriture PHP: // Entrée dans un fichier en PHP

Je souhaite donc que les utilisateurs puissent télécharger de gros fichiers sans avoir à vous soucier des valeurs de taille post-max. L'alternative utilise Mettez et envoyez un fichier en tant que données brutes. Lorsque vous utilisez JQuery, je peux faire ceci:

------WebKitFormBoundaryVz0ZGHLGxBOCUVQG--    


1 commentaires

Pourriez-vous fournir l'en-tête type ?


3 Réponses :


1
votes

Peut-être une combinaison de fgets code> pour arrêter la lecture à une nouvelle ligne et vérifier les limites:

while($kb = fgets($s, 1024))
{ 
    if(strpos($kb, '------') === false) //or !== 0 for first position
    {
        fwrite($f, $kb, 1024); 
    }
}


3 commentaires

Mais comment être sûr que '-----' est inclus dans le même morceau? Et si "---" est inclus à la fin du premier morceau et "--- '- c'est un début de la seconde? Ou ce ne peut pas être le cas?


fgets se lit jusqu'à la fin de la ligne \ n , de sorte que le - serait au début de la ligne suivante.


Si tel est le cas, que se passera-t-il avec les en-têtes suivants? Ils vont également endommager le dossier.



1
votes

Vous pouvez utiliser Ceci (il y en a beaucoup comme celui-ci). Il prend en charge les téléchargements panctés, ce qui signifie que vous n'allez pas toucher de tailles de post / fichier Max tant que chaque morceau de téléchargement est inférieur à la taille de la pochette.

Il inclut également le code PHP que vous voudriez besoin du côté serveur.


1 commentaires

J'utilise ce téléchargeur de Blueimp sur quelques sites qui ont eu beaucoup de fichiers téléchargés et fonctionnaient bien pour mes utilisateurs.



0
votes

Il n'est pas nécessaire de recréer la roue. Il suffit d'utiliser Post et de modifier la configuration de PHP sur des limites plus grandes. Ces limites peuvent également être définies sur un par répertoire / hôte.

Utiliser .htaccess ou votre Apache.conf P>

php_value upload_max_filesize 10G
php_value post_max_size 10G 


0 commentaires