Remplacer caractere affiché par une variable dans "echo" [Résolu]

Signaler
Messages postés
56
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 septembre 2008
-
Messages postés
56
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 septembre 2008
-
bonsoir a tous
alors voila, j'ai un code permettant l'envoi de fichier sur un serveur, et me donnant le lien de se fichier , une fois uploader
mais je voudrais bien remplacer les espaces du nom de mon fichier par "%20" afin de pouvoir faire des lien qui soient pris en compte par mon forum.

voila le code >

  <form method="post" ENCTYPE="multipart/form-data">
    

</form>
    <hr>
    

<?php
function nom_image($destination)
{
$nom_image =ereg_replace(" ", $destination);
$carac_speciaux =array(" ");
$carac_rempl =array("%20");
$nom_image =str_replace($carac_speciaux, $carac_rempl, $nom_image);
return $nom_image;
}

if ($_FILES['fichier']['name'] != '') {
$destination = "fichiers/".$_FILES['fichier']['name'];
if (is_uploaded_file($_FILES['fichier']['tmp_name'])) {
$upload = move_uploaded_file($_FILES['fichier']['tmp_name'], $destination) or die("impossible de déplacer le fichier"); }
echo '>> _ Fichier envoyé sur le serveur avec Succès. <<
>> _ Voici le lien vers votre fichier >, http://www.laurentdrelon.com/';
echo $destination;
} 
?>



la variable du nom de fichier est $destination , je laffiche avec "echo $destination;"
mais comment remplacer les espaces par des "%20" dans la commande echo ???

merci davance pour vos réponses

5 réponses

Messages postés
30
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
13 mars 2007

Salut,
il suffirait de faire un truc :

echo '>> _ Fichier envoyé sur le serveur avec Succès. <<
>> _ Voici le lien vers votre fichier >, http://www.laurentdrelon.com/';
echo str_replace(' ','%20',$destination);

il faut modifier les espaces en %20 au niveau des liens et pas au niveau du fichier (selon moi).
sinon si tu peux pas faire ca, tu modifies les espaces en underscore ' _ ', au moins tu seras sur que ca marche.

$upload = move_uploaded_file($_FILES['fichier']['tmp_name'], str_replace(' ','_',$destination)) ...

Voila !
Messages postés
56
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 septembre 2008

ptite erreur de ma part dans la fin du code
ce n'est pas 
http://www.laurentdrelon.com/

mais 
http://www.laurentdrelon.com/ tout court
Messages postés
56
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 septembre 2008

on reprends tout!! voila le bon code , dsl........


<form method="post" ENCTYPE="multipart/form-data">
   

</form>
  
<?php

if ($_FILES['fichier']['name'] != '') {
$destination = "fichiers/".$_FILES['fichier']['name'];
if (is_uploaded_file($_FILES['fichier']['tmp_name'])) {
$upload = move_uploaded_file($_FILES['fichier']['tmp_name'], $destination) or die("impossible de déplacer le fichier"); }
echo '>> _ Fichier envoyé sur le serveur avec Succès. <<
>> _ Voici le lien vers votre fichier >, http://www.laurentdrelon.com/';
echo $destination;
}
?>

Messages postés
56
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 septembre 2008

merciiiiiiiiiiiiii

c cool sa > echo str_replace(' ','%20',$destination);
Messages postés
56
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 septembre 2008

on continue dans la série des echos ;)

alors voila , j'ai toujours le meme code a deux trois choses pres ...
je voudrais que ce script m'affiche un truk du genre "upload en cours" quand c'est le cas , mais je ne sais pas ou placer mon echos (peut etre doije utiliser un print('....') ) : si je me place avent "$destination = "fichiers/".$_FILES['fichier']['name'];" , sa maffcihe mon echos alors que rien ne s'est encore passé , et si je le mets apres , le message s'affiche mais une fois que l'upload est finie....balot

une idée?