WebSite X5Help Center

 
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User

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

Autor: FREDERIC BOULNOIS
Visited 425, Followers 1, Udostępniony 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 !

Posted on the
17 ODPOWIEDZI - 1 POMOCNY - 1 PRAWIDłOWA ODPOWIEDź
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.

Czytaj więcej
Posted on the from 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.

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from 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.

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

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

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from 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>";

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from 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");

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from 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

Czytaj więcej
Posted on the from 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

 

Czytaj więcej
Posted on the from 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>

Czytaj więcej
Posted on the from Axel  
FREDERIC BOULNOIS
FREDERIC BOULNOIS
User
Autor

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

Czytaj więcej
Posted on the from FREDERIC BOULNOIS
Axel  
Axel  
User

Parfait 

Pense a cloturer le post

bonne continuation

Czytaj więcej
Posted on the from Axel