Bonjour,
Je suis en développement d'un site d'upload. Je coine :s
J'upload mon fichier mais je n'arrive pas à renvoyé le lien au visiteur.
Comment faire ?
Merci
Désolé du retard, le sommeil été lourd ^^
J'ai regardé ton code d'un peut plus prêt et il s'avère que j'ai un peut changé pas mal de chose car tu avais des ouverture <?php complètement inutile.
Donc j'ai testé le code et il fonctionne ( Du moins chez moi ^^ )
<?php
if( isset($_POST'upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES'fichier']'tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES'fichier']'name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
echo "<br />";
echo "<input type=\texte\" value=\"".$_SERVER'SERVER_NAME']."/".$content_dir."".$name_file."\"/>";
}
?>
<!-- End Script -->
<!-- Content -->
<div id="content">
<center>
<form method="post" enctype="multipart/form-data" action="upload.php">
<label>Votre fichier : </label>
<input type="file" name="fichier" size="30">
</br>
<input type="submit" name="upload" value="Uploader">
</form>
</center>
</div>
<!-- End Content -->
explication:
$_SERVER'SERVER_NAME'] reprend ton nom de domaine au lieu de l'écrire complètement; si tu veut plus d'info, je t'envoi sur ce lien: http://php.net/manual/fr/reserved.variables.server.php
$content_dir que j'ai rajouter après $_SERVER'SERVER_NAME'] puisque lors de l'upload, tu met l'image dans un dossier " upload " j'ai donc reprit le variable pour pouvoir un lien absolu vers ton image.
$name_file reprend en gros le nom de l'image puis son format ( .jpg .png .gif etc ). Donc en rattachant le tout, tu obtient un lien absolu vers le fichier =).
Par-contre, ton script d'upload n'est absolument pas sécurisé puisqu'on peut envoyé des fichier .php .zip etc. C'est une chose essentiel si tu souhaite faire un script d'upload d'image :).
Il faut que tu reprenne ta variable $url si toute fois c'est celle ci et tu la met sur un input type="text" avec un value par exemple.
<input type="text" value="<?php echo " $url " ?>"/>
<?php
if( isset($_POST'upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES'fichier']'tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES'fichier']'name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé"; ?>
<p></p>
<?php
echo "Lien : "?><input type="text" value="<?php echo " $tmp_file " ?>"/>;
<?php
}
?>
<!-- End Script -->
<?php
include("head.php");
?>
<!-- End Include -->
<!-- Content -->
<div id="content">
<center>
<form method="post" enctype="multipart/form-data" action="upload.php">
<label>Votre fichier : </label>
<input type="file" name="fichier" size="30">
</br>
<input type="submit" name="upload" value="Uploader">
</form>
</center>
</div>
<!-- End Content -->
</body>
</html>
Voilà mon code, je comprend pas ...
peut-tu mettre le upload.php car la source de celui-ci m'indiquera les variable utilisé. Cet source là dit juste qu'il faut qu'il upload l'image dans le fichier upload/ et savoir si le fichier a bien été uploadé ou non
Merci beaucoup !
Je souhaite faire un site s'upload pour tous les fichiers, sauf fichier 'web' qui devrons être dans une archives.
Fait attention car si le visiteur upload un fichier .php ou il a mit dedans un système qui supprime toutes les images du répertoire upload ou autre chose, il peut le faire. Il faudrait a la rigueur que tu fasse ceci:
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
if(in_array(strtolower($extension),$tabExt))
{
}
else
{
L'extension incorrecte ';
}
Qu'est-ce que tu appel une archives ? Tu souhaite créer un système d'archives sur une autre table sql ? Et une fois que le visiteur aura uploadé son image/fichier, il sera mit au archive + un lien vers l'image/fichier, non ?
Je ne voit pas trop comment tu veut faire cela. Je pense juste qu'il faut que tu voit pour sécurisé un peut plus ton script d'upload d'image parce que n'importe quel visiteurs pourra uploadé un fichier et supprimé ce dont tu as sur ton serveur. Je laisse la mains à une personne plus compètent parce que là je rame ^^