{MySQL} Fonction sur une chaine de caractère

Fermé
ahmedbj Messages postés 146 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 8 janvier 2013 - 6 sept. 2009 à 00:18
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 6 sept. 2009 à 10:49
Bonsoir
j'ai fais un formulaire dans mon site qui permet de upoader des fichier, après l'upload j'ai remarque que le nom des fichiers (càd le chemin ou le fichier a été stocké) change.
Par exemple si j'upload le image.jpeg je remarque que le nom dans la BDD change en :

/chemin/image.jpeg|[FILE]|28


moi je veux lors de la sélection des informations avoir que le nom du fichier càd /chemin/image.jpeg et pas /chemin/image.jpeg|[FILE]|28.
Est-ce qu'il y une fonction sur les chaine de caractère qui permet de couper toute la partie qui se termine par |[FILE]...
j'ai essayé avec la fonction SUBSTR mais ca marche pas puisque les nom des fichiers vont changé d'un fichier à une autre

2 réponses

giheller Messages postés 1853 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 18 décembre 2022 141
6 sept. 2009 à 10:32
bonjour,

c'est sans doute que vous donnez le même nom à tous les fichiers.

j'utilise le script suivant et j'ai le nom de fichier donné par l'utilisateur;

$content_dir = '../aleatoire/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['nomfich']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['nomfich']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['nomfich']['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é chargé";
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 008
6 sept. 2009 à 10:49
Bonjour,

Essaie de combiner SUBSTR (ou LEFT) avec LOCATE.

Si tu tentes
SELECT LEFT(FICHIER, LOCATE('|', FICHIER)) FROM TABLE

(Pour expliquer : « tout ce qui est à gauche du premier '|' »)

Ça marche ?

Xavier
0