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--
3 Réponses :
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);
}
}
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 code> se lit jusqu'à la fin de la ligne
\ n code>, 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.
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. P>
Il inclut également le code PHP que vous voudriez besoin du côté serveur. p>
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.
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
Pourriez-vous fournir l'en-tête code> type code>?