Jump to content

Produit à télécharger


j.vanhoff

Recommended Posts

Bonjour,

Nous avons créé une boutique via prestashop, il s'agit de la vente de logiciel CAO...

Le problème que nous rencontrons est que je ne sais pas mettre mon fichier pour pouvoir télécharger le logiciel après l'achat car la taille est en moyenne de 200Mo...

Est ce que quelqu'un peut m'aider...


Merci

Link to comment
Share on other sites

Bonjour,

vous pouvez aussi ruser.

Lorsque vous créez votre fiche vous enregistrez un petit fichier nommé comme vous le désirez, ce fichier est enregistré dans le répertoire download à la; racine de votre site, puis vous uploadez votre fichier de 200Mo en le nommant de la même façon que le fichier uploadé sur la fiche produit.

Link to comment
Share on other sites

  • 2 months later...

Pourquoi la ligne de code indique 100M alors que la limitation de poids est a 12Mo ???
Est il un multiple, j'ai essayer avec des fichier de 50Mo
est cela n'est pas possible ? IDEM en ajoutant 200M,
Pour ma part j'ai mis 500M
et toujours pas possible ????
Grrrrrrr

quand a faire un rename du file Uploder,Le fichier est introuvable, pourtant il me dit qu'il est bien la, mais au moment de le telecharger = File No FOUND

Si quelqu'un as une idée

Link to comment
Share on other sites

il y a deux limites pour la taille d'un fichier.

La premiere dans le fichier config.inc.php comme indiquer precedemment

la seconde dans le fichier php.ini du serveur, si vous n'avez pas acces au fichier php ( tres frequent pour les serveurs mutalises) il faut faire la manip indiquer par Jeckyl

Si vous avez acces au fichier php.ini, il faut modifier cette variale upload_max_filesize = 128Mo etc

Puis redemarrer le serveur web (apache, IIS , Nginx ...)

Link to comment
Share on other sites

J'ai bien essayer avec le fichier config.inc en passant de 100M a 900M,
Mais rien

Je suis chez One.com, donc tintin pour le Php.Ini

Quand je selectionne "Produits a telecharger"
Cette phrase en dessous du champs :
La taille maximum d'upload sur votre serveur est de: 12M
La variable duchiffre 12 dois bien venir de quelques par et essayer de trouver une piste qui irait ?

Link to comment
Share on other sites

  • 4 weeks later...

Je rencontre un problème similaire en ayant fait la manip expliquée par jeckyl mais quand j'essaie de télécharger ça me dit que le fichier n'existe pas alors que si (explications et screens ici : http://www.prestashop.com/forums/viewthread/66240/rapports_de_bugs/probleme_produit_a_telecharger)

Est-ce que la taille fixée dans le php.ini peut empêcher le téléchargement de fichier dont la taille est supérieur à cette valeur??

Link to comment
Share on other sites

exemple :

get-file.php?key=54d958d9281a755a6bc19eb4d0d3e761a860dd0b-40e7c9b16a55efaa728b6d1b42764b9220356e03

La 1ere partie du "key" correspond au nom crypté dans la base de données.

Les droits de quel fichier?

Parce que même depuis l'administration impossible de le télécharger (enfin les 2 fichiers les plus gros), donc pas une question de "key" puisque que depuis l'administration il a juste la chaine de caractère qui correspond à celle enregistrée dans la base de données et celle qui apparait dans le FTP.
Et les droits sont les même que pour les 7 autre fichiers qui eux se téléchargent sans problème :s
Link to comment
Share on other sites

je n'ai pas accès au php.ini malheureusement....

Dans quel htaccess je dois ajouter cette ligne?
Celui à la base de la boutique avec les lignes écrites par prestashop pour les adresses simplifiées?

-- EDIT --

j'ai essayé et j'ai eu cette erreur :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.


En consultant un fichier d'erreur sur mon FTP j'ai trouvé ça :
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 255324161 bytes) in /home/lecesa/public_html/shop/get-file.php on line 106


"255324161 bytes" semble être la taille du fichier à télécharger....
Link to comment
Share on other sites

je dois juste faire un copier/coller de ça: php_value memory_limit 300M ?

Parce que là j'ai de nouveau une erreur 500 :s

Je vais voir pour faire modifier le php.ini si il n'y a plus que cette solution car j'aurai bien essayé en faisant un pack de produits à télécharger mais ce n'est pas possible....
Est-ce que l'on peut faire ça avec la dernière version de prestashop? Parce que si modifier le php.ini n'est pas possible mais que la dernière version de prestashop permet les pack à télécharger il n'y aura plus que cette solution :s

Link to comment
Share on other sites

oui, les fichiers achetés sont des archives ZIP.
J'en ai donc créé une avec un simple petit fichier à l'intériere et je l'ai renommé comme l'une de celle qui pose problème, puis uploadé via l'administration pour avoir le nom crypté.
Là le téléchargement fonctionne. Puis je renomme la "vraie" archive ZIP sur le ftp avec le nom crypté, et là ça ne fonctionne plus.

C'est la méthode que tu expliques :


vous pouvez aussi ruser.

Lorsque vous créez votre fiche vous enregistrez un petit fichier nommé comme vous le désirez, ce fichier est enregistré dans le répertoire download à la; racine de votre site, puis vous uploadez votre fichier de 200Mo en le nommant de la même façon que le fichier uploadé sur la fiche produit.
Link to comment
Share on other sites

Normal que je vous tienne au courant si d'autres personnes rencontrent ce problème ;-)
Je ne peux éditer le 1er post car c'est pas moi qui l'ai ouvert, j'ai juste posté à la suite car le problème était le même :s

Mais j'avais ouvert un post doublon (je m'en excuse... ne me tapaient pas :s ) je vais voir pour l'éditer ;-)

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Bonjour

j'ai résolu le problème de téléchargement de gros fichiers en changeant les headers et en lisant le fichier par blocs plutôt qu'en un seul appel à readfile() :

remplacer les lignes suivantes à la fin de get-file.php lignes 259 à 264

header('Content-Transfer-Encoding: binary');
if ($mime_type)
   header('Content-Type: '.$mime_type);
header('Content-Length: '.filesize($file));
header('Content-Disposition: attachment; filename="'.$filename.'"');
readfile($file);



par

header('Content-Transfer-Encoding: binary');
if ($mime_type)
   header('Content-Type: '.$mime_type);
header('Content-Length: '.filesize($file));
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$handle = fopen($file, 'rb');
@ob_end_clean();
while(!feof($handle)) {
   print fread($handle, (1024 * 1024));
   @flush();
   @ob_flush();
}
fclose($handle);

Link to comment
Share on other sites

  • 6 months later...

Bonjour,

Je rencontre sensiblement les mêmes problèmes que vous voici un petit récapitulatif de ma situation:

- Prestashop V1.4.1.0

- Je suis Chez OVH mutualisé

- Uploader un fichier de 20 000 Ko... j'ai laissé tombé il me le prend pas meme si la taille des fichiers authorisés pas mon serveur sont de 64Mo!

- J'ai fait la petite manip signée Jeckyl Uploader un petit truc avec le nom de mon gros fichier que je rebalance via ftp et je lui donne le nom codé

- J'achete mon produit j'ai le lien que je telecharge > bilan 1.1M sur 20!!!

Conclusion

C'est donc bien la limite de l'upload du serveur qui est en cause?

Personne chez OVH n'a trouvé une solution? (sans attaqué le PHP.ini)

Le trick de msadouni n'a pas l'aire de fctionner chez moi ( mais le code source a changé depuis le poste ) peut etre pourrais tu regarder si tes changements sont toujours d'actualité CF piece jointe

Merci de votre attention

get-file.php

Link to comment
Share on other sites

Bonjour,

je n'avais pas précisé sur le post, la version de Prestashop sur lequel j'ai fait cette modif est la 1.2.5 de mémoire. Ceci dit, vu le code du nouveau fichier get-file.php, elle devrait toujours fonctionner en remplaçant simplement la fin du fichier à partir de la ligne 291.

Sinon, essayez en rajoutant simplement un ob_flush() à la ligne 299 comme expliqué ici http://www.php.net/manual/en/function.fread.php#51720 et en remplaçant fgets() par fread()

Link to comment
Share on other sites

... veux rien savoir il bloque le fichier a 1.1Mo


290  /* Set headers for download */
       header('Content-Transfer-Encoding: binary');
       header('Content-Type: '.$mimeType);
       header('Content-Length: '.filesize($file));
       header('Content-Disposition: attachment; filename="'.$filename.'"');
       ob_end_flush();
       $fp = fopen($file, 'rb');
       while (!feof($fp))
   echo fread($fp, 16384);
   ob_flush();
300   exit;



J'ai bien tenté de de changer la valeur /echo fread($fp, 16384);/ mais comme je sais pas trop ce que je fais...

Je commence a deseperer :(

Link to comment
Share on other sites

Vérifiez que le fichier a bien été uploadé et fait bien 20 Mo, et testez avec un autre fichier sur un autre produit. À part ça, pour le moment je ne vois pas d'autre chose. Au cas où ce soit un problème d'upload, pour uploader les fichiers j'ai utilisé le module Batch Downloadable Product de Presto-Changeo http://www.presto-changeo.com/en/prestashop-modules/38-batch-downloadable-product.html qui fonctionne très bien.

Link to comment
Share on other sites

Bon je viens vous donner des updates de ma situation... qui pourra aider d'autres âmes en peines.

Donc il s'avère que le téléchargement fonctionne! le problème est lié a l'extention .zip .rar du fichier que je propose. J'ai pas encore la solution mais lorsque je telecharge l'archive elle est corrompue!

J'ai trouvé ça http://forum.ovh.com/showthread.php?t=13933 mais j'ai pas access au httpd.conf :(

Ce genre de soucis parle t il a quelqu'un?

Merci de votre patience

Link to comment
Share on other sites

  • 1 month later...

Bonjour

J'ai tout essayé

- produit a télécharger : parcourir - je sélectionne un pdf
réponse : Le fichier de ce produit est absent:
/var/viaduc/clients/h2184/prestashop/download
/99db97a94c212eb8322420e68e5dfb8d2d9d9190

- document joint ; parcourir : je sélectionne un zip
et rien ne se passe

actuellement le pdf et le zip de tes sont vide pour voir si c’était un problème de taille) - les erreurs sont toujours là

je bute sur ce "détail" depuis 1000 ans :-)

Merci à celui qui voudra m'aider

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...