WebSite X5Help Center

 
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User

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

Autore: FREDERIC BOULNOIS
Visite 424, Followers 1, Condiviso 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 !

Postato il
17 RISPOSTE - 1 UTILE - 1 CORRETTO
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.

Leggi di più
Postato il da 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.

Leggi di più
Postato il da 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

Leggi di più
Postato il da 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.

Leggi di più
Postato il da Axel  
Axel  
Axel  
User

Hello Frederic,

Ici sur mon site de demo j'ai quelque chose de simple à mettre en place.

https://wsx5demo.afsoftware.fr/listing.html

Personnalisable, langue aussi.

Ci joint le manuel

Axel

Leggi di più
Postato il da Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autore

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

Leggi di più
Postato il da FREDERIC BOULNOIS
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autore

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

Leggi di più
Postato il da 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>";

Leggi di più
Postato il da Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autore

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

Leggi di più
Postato il da 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");

Leggi di più
Postato il da 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

Leggi di più
Postato il da 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

Leggi di più
Postato il da 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

Leggi di più
Postato il da Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autore

@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

 

Leggi di più
Postato il da 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>

Leggi di più
Postato il da Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autore

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

Leggi di più
Postato il da FREDERIC BOULNOIS
Axel  
Axel  
User

Parfait 

Pense a cloturer le post

bonne continuation

Leggi di più
Postato il da Axel