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