We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 7606
    • 39 Posts
    J’ai modifié mon post car je pense qu’il n’était pas très clair.

    J’ai un fichier php-seul qui fonctionne très bien mais quand je le transpose en Modx (en snippet), ça ne fonctionne pas. Voici le code :


    Voici ce que j’ai mis dans un snippet : [[azerty]]



    {
    // params
    unset($erreur);
    $extensions_ok = array(’png’, ’gif’, ’jpg’, ’jpeg’, ’doc’ );
    $taille_max = 10000000;
    $dest_dossier = ’frecu/’;

    // vérifications
    if( !in_array( substr(strrchr($_FILES[’photo’][’name’], ’.’), 1), $extensions_ok ) )
    {
    $erreur = ’Veuillez sélectionner un fichier de type png, gif ou jpg !’;
    }
    elseif( file_exists($_FILES[’photo’][’tmp_name’])
    and filesize($_FILES[’photo’][’tmp_name’]) > $taille_max)
    {
    $erreur = ’Votre fichier doit faire moins de 500Ko !’;
    }
    // copie du fichier
    if(!isset($erreur))
    {
    $dest_fichier = basename($_FILES[’photo’][’name’]);
    // formatage nom fichier
    // enlever les accents
    $dest_fichier = strtr($dest_fichier, ’ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ’, ’AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy’);
    // remplacer les caracteres autres que lettres, chiffres et point par _
    $dest_fichier = preg_replace(’/([^.a-z0-1]+)/i’, ’_’, $dest_fichier);
    // copie du fichier
    move_uploaded_file($_FILES[’photo’][’tmp_name’], $dest_dossier . $dest_fichier);
    }
    }

    if(isset($erreur)){
    echo ’<p>’, $erreur ,’</p>’;

    ?>

    Voila la partie mise dans mon document html :


    <!-- Formulaire -->
    <!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
    <form method="POST" enctype="multipart/form-data">
    <!-- Limiter la taille des fichiers à 500Ko -->
    <input type="hidden" name="MAX_FILE_SIZE" value="50000000" />
    <fieldset>
    <legend>Envoi de fichiers</legend>
    <!-- champs d’envoi de fichier, de type file -->
    <p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
    <p><label for="photo_2">Photo 2 :</label><input type="file" name="photo_2" /></p>
    <!-- bouton d’envoi -->
    <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
    </legend>
    </fieldset>
    </form>




    Alors, si je ramène ces 2 parties en 1 seule dans un fichier php, no prob, mais quand je mets dans dans modx, nada !

    Pour "appeler" le snipped, au-début de ma page html, j’y ai indiqué : [[azerty]]

    En plus, quand je fais ça, j’ai un texte qui apparait et qui est le titre de ma page "my modx page"

    Quelqu’un y comprend quelques chose ?? GRAND merci à vous tous
      • 20488
      • 353 Posts
      Si je comprends bien tu essaye de faire de l’upload de fichier.

      Pourquoi ne pas utiliser le snippet EForm ?