Aller au contenu

dimi3

Hubmaster
  • Compteur de contenus

    110
  • Inscrit(e) le

  • Dernière visite

Messages postés par dimi3

  1. C'était bien ça...



    Pour supprimer le retour chariot, je fais :






    $lines = file($fichier1);
    $n = count($lines);


    $fica = fopen($fichier1, "r");
    $ficc = fopen($fichier2, "w");


    for($f = 0; $f < $n; $f++)
    {
    $ligne = fgets($fica,4096);
    if( $f == $n-1)
    {
    $longueur = strlen($ligne);
    $ligne = substr($ligne,0,$longueur-1);
    fputs($ficc, $ligne);
    }
    else
    {
    fputs($ficc, $ligne);
    }




    Ca marche. Voyez-vous quelque chose de plus intelligent ou efficace ?

  2. Merci de ta réponse.



    Afin de corriger un fichier contenant une dernière ligne vide et contenant quelques erreurs de frappe, je lis ce fichier ligne par ligne par un fgets(), pour remplir dans la foulée un fichier corrigé par un fputs() . Je ne parviens pas à empêcher la copie de la ligne vide en faisant une copie du premier fichier en réduisant la boucle de 1. C'est pourquoi, j'en ai conclu que c'est le fputs() qui me crée cette ligne inutile. D'après ton message, ce n'est donc pas le cas. Mais qui crée cette ligne vide ? Je n'inclus pas de \n dans mes fputs().


  3. Bonjour,



    Voici mon fichier de sortie de session :




    <?php
    session_start();
    $_SESSION = array();
    session_unset();
    session_destroy();

    echo "<script language=\"javascript\" type=\"text/javascript\">";
    echo "window.location.replace(\"./../index.html\");";
    echo "</script></center>";
    ?>


    Le contenu des variables n'est pas détruit. Il réapparaît à l'ouverture suivante. Ai-je oublié quelque chose ? A l'ouverture de la session, des cookies se créeraient-ils à mon insu ?



    Je vous remercie de vos lumières...


  4. Merci pour vos idées qui m'ont conduit à lire 1000 lignes par 1000 lignes les fichiers textes à traiter. Un petit coup de javascript (window.location) relance le programme autant de fois qu'il le faut. Le nombre de relances est calculé préalablement par une simple division (nombre d'enregistrements du fichiers-texte / 1000) ( + 1 s'il y a un reste). Décrémentation à chaque relance. Les résultats s'ajoutent dans un fichier texte (mode "a").La limite d'exécution imposée par l'hébergeur est respectée... Le top !



    Encore merci pour les pistes proposées...

  5. J'ai regardé un petit peu cette possibilité. Je crois comprendre que cette fonction met en cache un traitement déjà effectué pour le réafficher instantanément plus tard. Mon problème est la longueur du traitement lui-même. La mise en cache d'un traitement inachevé en raison de la limite de temps d'exécution ne me paraît pas résoudre le problème. Je me trompe ?


  6. Bonjour,



    Mes programmes devant traiter des quantités de données avant affichage, il est fréquent qu'ils décrochent afin de finir (time out...).



    N'ayant pas accès au fichier de configuration PHP et l'hébergeur n'étant pas très chaud pour l'augmenter, je me demande s'il y a moyen de contourner le temps-limite par programmation.


    Je rêve d'une page qui par exemple, avertirait l'utilisateur du temps limite dépassé et lui proposerait un bouton à cliquer pour poursuivre le travail. Une telle chose est-elle possible ?


    Voyez-vous d'autres solutions ?



    Je vous remercie de vos idées.


  7. Merci pour ta réponse.



    Il reste le problème de l'action ? Comment coder l'ouverture du formulaire pour que le premier submit envoie vers la page lire.php, le second vers la page modifier.php et le troisième vers la page supprimer.php ? Réunir les 3 fichiers en un seul ?


  8. Bonjour,



    Je répète 3 fois le formulaire pour 3 actions différentes. Je souhaiterais réunir tout ça en un seul formulaire contenant une seule fois la liste des radios et 3 boutons. Voici ce que je voudrais simplifier :





    echo "<form action = \"lire.php\" method=\"POST\">";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 1";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 2";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 3";
    echo "<br><input type=\"submit\" value=\"Lire le fichier\"/>";



    echo "<form action = \"modifier.php\" method=\"POST\">";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 1";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 2";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 3";
    echo "<br><input type=\"submit\" value=\"Modifier le fichier\"/>";




    echo "<form action = \"supprimer.php\" method=\"POST\">";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 1";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 2";
    echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/>  Fichier 3";
    echo "<br><input type=\"submit\" value=\"Supprimer le fichier\"/>";


    Pourriez-vous me conseiller la meilleure manière de m'y prendre ?



    Je vous remercie.


  9. Du nouveau :



    J'utilisais WampServer.


    J'ai essayé EasyPHP. Il m'a suffi de changer dans le php.ini la ligne max_input_vars et d'augmenter la limite jusqu'à 15000 pour enfin résoudre le problème qui m'a occupé 2 bonnes journées.



    Ouf... je n'en peux plus !



    Grand merci à tous pour l'intérêt que vous avez porté à mes questions et pour avoir eu souci de m'aider.



    J'ai appris bien des choses sur le fichier php.ini. Et aussi que WampServer n'est pas fait pour moi...

  10. Un programme vérifie les entrées de l'opératrice dans un fichier expédié à un vérificateur. Les erreurs sont signalées. Le formulaire permet de descendre jusqu'à l'enregistrement erroné. Le vérificateur corrige dans le formulaire, et le programme récrit le fichier.



    Et passer par des variables-sessions ? Cela résoudrait-il le problème ? Ou est-ce encore limité ?


  11. @Stephane


    la désactivation de xdebug n'a pas résolu le problème



    @jcaron


    pas de problème de format imposé


    pas de guillemets ni & dans le fichier texte



    @captain_torche


    le formulaire permet de faire d'éventuelles corrections ou des ajouts dans le fichier texte


    Qu'entends-tu par cURL ? Tu veux dire par GET ?


  12. Le premier fichier récupère les données d'un fichier texte (de type .csv) dans un formulaire. Par une boucle, chaque input est nommé ainsi :



    echo "<input type = \"text\" name=\"enregistrement".$i."\" value=\"$tab[$i]."\">";



    Le second fichier reçoit les variables "enregistrementX" par $_POST["enregistrement".$i] dans une boucle.



    ------------------



    Je remarque que seules les 1000 premières variables sont réceptionnées : 1000 pile-poil, ni plus, ni moins. Et cela, quel que soit le fichier texte mouliné.

  13. Bonjour et merci,



    J'avais pensé à memory_limit que j'ai mis à -1 . Mais ça n'a rien donné non plus.



    Mon code n'a pas de souci du fait que si le fichier est court tout se passe bien. Mon code ne plante pas. La seule erreur signalée est "variable indéfinie" pour les dernières centaines de variables à traiter.



    Le problème pourrait-il tout simplement venir d'une mémoire physique insuffisante de mon petit portable ?


  14. Bonsoir,



    Une recherche de "suhosin" dans le php.ini ne donne rien (version du php : 5.3.10)



    J'ai ajouté suhosin.post.max_vars=10000 et suhosin.request.max_vars=10000. Ca n'a pas résolu le problème.



    J'ai tenté php_value suhosin.post.max_vars 10000 et php_value suhosin.request.max_vars 10000 dans le fichier htaccess : je n'ai pas eu plus de succès.


×
×
  • Créer...