WebSite X5Help Center

 
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User

Dépot de fichier sur le site pour l'envoyer au webmaster  fr

Autor: FREDERIC BOULNOIS
Besucht 426, Followers 1, Geteilt 0  

Je souhaite que mes visiteurs de site puisse déposer des fichiers (ex : photos / pdf) afin de les récupérer dans un dossier. Est-ce que c'est possible ? Comment ? 

J'ai essayé via le formulaire avec l'option fichier annexé, mais au dela d'une certaines taille cela ne fonctionne plus.

Merci de vos lumières !

Gepostet am
17 ANTWORTEN - 1 NüTZLICH - 1 KORREKT
JiPeR 48
JiPeR 48
Moderator

Salut Frédéric,

Tu utilises une messagerie gratuite (...Gmail, Outlook...) ou directement depuis la messagerie de ton hébergeur ? 

Certaines limitations sont imposées par les fournisseurs pour des raisons de sécurité (surcharge des serveurs...).

Je Signale toutefois ta question au Support Incomedia pour avoir l'avis d'un technicien.

Bonne continuation,

J.P.

Mehr lesen
Gepostet am von JiPeR 48
Incomedia
Eric C.
Incomedia

Hello Frederic,
what file size have you started encountering issues with?
Usually, as JiPeR mentioned, there can be restrictions on the maximum size imposed by the provider, so it may not be possible to do this with very large files.

Online translation:

Bonjour Frédéric,
quelle taille de fichier commence à poser problème ?
Comme l’a mentionné JiPeR, il peut y avoir des restrictions sur la taille maximale imposées par le fournisseur, il se peut donc que cela ne soit pas possible avec des fichiers très volumineux.

Mehr lesen
Gepostet am von Eric C.
Axel  
Axel  
User

Hello Frederic,

Possible mais il faut faire un peu de code coté client et côté serveur.

Côté client pour choisir le fichier locallement
Côté serveur avec une page en PHP pour récupérer le nom du fichier qui sera envoyé (par une methode POST)

https://yard.onl/sitelycee/cours/js/_Js.html?Lesystmedupload.html

Axel

Mehr lesen
Gepostet am von Axel  
Axel  
Axel  
User

Il faut copier ce code dans un objet HTML

<form action="afs-demo/fileupload/upload.php" method="post" enctype="multipart/form-data">
<label for="file">Choisir un fichier :</label>
<input type="file" name="mon_fichier" id="file" />
<input type="submit" value="Envoyer le fichier" />
</form>

Ici en gras on configure le chemin ou sera stocké le fichier upload.php

On crée le fichier upload.php en local

<?php
$repertoire = "afs-uploads/"; // Dossier cible sur le serveur

// Créer le dossier s’il n’existe pas
if (!is_dir($repertoire)) {
mkdir($repertoire, 0755, true);
}

$fichier_temporaire = $_FILES['mon_fichier']['tmp_name'];
$nom_fichier = basename($_FILES['mon_fichier']['name']);
$chemin_final = $repertoire . $nom_fichier;

// Déplacer le fichier
if (move_uploaded_file($fichier_temporaire, $chemin_final)) {
echo "Fichier envoyé avec succès dans $chemin_final";
} else {
echo "Erreur lors de l'envoi du fichier.";
}
?>

Ensuite dans le propriétés avancées de l'objet HTML on va configurer l'emplacement ou télécharger le fichier upload.php durant l'export.

Voila...

prendre un petit fichier pour voir.....Un message doit s'afficher indiquant que le transfert ok

Le fichier téléchargé se trouvera donc dans le répartoire suivant dans mon cas

afs-demo/fileupload/afs-uploads

Le répertoire afs-upload sera crée automatiquement si il n'existe pas.

Et cela affiche.

Mehr lesen
Gepostet am von Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

C'est parfait ! Cela correspond à ce que je cherche. Merci infiniment.

Mehr lesen
Gepostet am von FREDERIC BOULNOIS
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

juste pour parfaire la chose, serait-il possible qu'après upload d'un fichier, je ne me retrouve pas avec cette page de confirmation très moche ? (voir PJ).
Je préfèrerai un simple popup afin que l'on puisse recommencer un autre upload sans rechargement de la page.
Merci

Mehr lesen
Gepostet am von FREDERIC BOULNOIS
Axel  
Axel  
User

Essaie de remplacer la ligne

echo "Fichier envoyé avec succès dans $chemin_final";

par

echo "<script type='text/javascript'>alert('Fichier envoyé avec succès dans .$chemin_final');</script>";

Mehr lesen
Gepostet am von Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

J'ai bien le popup. Merci. Cependant, la page d'upload ne se refraichit pas, ce passe sur une page blanche (celle du lien vers le fichier php)  voir pjs

Mehr lesen
Gepostet am von FREDERIC BOULNOIS
Axel  
Axel  
User

Ceci dit rafraichir la page ne sert pas à grand chose car c'est la page upload.php qui est la pour télécharger le fichier.

Il faut donc revenir à la page précédente.

A mettre après le code de la fenêtre

header("location: https//www.monsite.com/chemin1/mapage.html");

Mehr lesen
Gepostet am von Axel  
Fernand D.
Fernand D.
User

Salut à tous,

Le propriétaire d'un site web étant responsable des données stockées sur son site, il serait préférable de recevoir les fichiers directement par le formulaire en ajoutant sur ce formulaire le lien vers swisstransfer par exemple, pour recevoir plusieurs fichiers ou un dossier important.

Dans le premier champ description : 

Pour des fichiers ou dossiers importants :
Lien pour tranfert de fichiers par swisstransfer.<br>
<p>Mon mail : <span style="color:#62D52B;">***</span></p>

Dans le deuxième champ description :

<body>
<a href="https://www.swisstransfer.com/fr-fr" target="_blank"class="imCssLink"><p style="color: orange; font-size: 16px;">Cliquez ici : Tranfert de fichiers </p>
</a>
</body>

Fernand

Mehr lesen
Gepostet am von Fernand D.
Fernand D.
Fernand D.
User

re,

Oups mes fautes transfert.

Afin de savoir d'où est envoyé le ou les fichiers (fichier joint ou et envoyé par swisstransfer) possibilité d'insérer 2 cases à cocher choix multiple.

Fernand

Mehr lesen
Gepostet am von Fernand D.
Axel  
Axel  
User

@Fernand

avec ma soluion, il faut evidemment faire en sorte que la page soit accessible avec des identifiants pour  contrôler qui fait les uploads.

Axel

Mehr lesen
Gepostet am von Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

@Axel  :
Cela fonctionne, mais cette fois-ci on a plus le temps de lire le pop-up. Ai-je mal placé  la nouvelle ligne de code ?

J’en profite pour poser une dernière question. Est-il possible que ce code renomme automatiquement le fichier si un fichier de même nom existe déjà dans le dossier ? (genre on y ajoute un chiffre au bout ?)

Merci bcp

 

Mehr lesen
Gepostet am von FREDERIC BOULNOIS
Axel  
Axel  
User

Avec ce code, cela va régler les 2 questions.

Il faut donc renvoyer le fichier upload.php sur le serveur web avec le code ci dessous 

Il faut mettre le bon chemin sur la ligne en gras en bas.

Je n'ai pas opté pour le renommage du fichier si déjà existant. En effet cette méthode n'empêche pas éventuellement une attaque via un script qui enverrait toujours le même fichier qui serait renommé à cahque fois  et remplirait automatique le disque.
La tu as un message qui te dit que le fichier existe... Donc un script ne peut pas le renvoyer dans ce cas....

<?php
$repertoire = "afs-uploads/"; // Dossier cible sur le serveur

// Créer le dossier s’il n’existe pas
if (!is_dir($repertoire)) {
mkdir($repertoire, 0755, true);
}

$fichier_temporaire = $_FILES['mon_fichier']['tmp_name'];
$nom_fichier = basename($_FILES['mon_fichier']['name']);
$chemin_final = $repertoire . $nom_fichier;

// On vérifie si fichier existant
if (file_exists($chemin_final)) {
echo "<script type='text/javascript'>alert('Erreur : le fichier existe déjà !!!');</script>";
} else {
// Déplacer le fichier
if (move_uploaded_file($fichier_temporaire, $chemin_final)) {
echo "<script type='text/javascript'>alert('Fichier envoyé avec succès dans .$chemin_final');</script>";

} else {
echo "Erreur lors de l'envoi du fichier.";
}
}

?>
<script>
window.location.href = "https://wsx5demo.afsoftware.fr/envoi.html";
</script>

Mehr lesen
Gepostet am von Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

C'est parfait ! Un grand merci pour ton expertise.

Mehr lesen
Gepostet am von FREDERIC BOULNOIS
Axel  
Axel  
User

Parfait 

Pense a cloturer le post

bonne continuation

Mehr lesen
Gepostet am von Axel