Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1303 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Recuperer seulement le nom du ficher dans un champ File

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Recuperer seulement le nom du ficher dans un champ File

n°951525
nycius
Ich liebe dich !
Posté le 12-01-2005 à 11:57:12  profilanswer
 

salut
 
dans un formulaire jai un champ parcourir
je voudrais stocker dans une base le nom du fichier enregistré
mais seulement le nom et pas le chemin complet
 
jai essayé ca mais ca marche pas :
 

Code :
  1. <input type=file name="A">


et ensuite recuperer le nom avec "A_name"

mood
Publicité
Posté le 12-01-2005 à 11:57:12  profilanswer
 

n°951532
Xav_
The only one...
Posté le 12-01-2005 à 12:17:06  profilanswer
 

doc PHP, ya une fonction a qui tu file une URL et qui te retourne un tableau avec 3 valeurs:
tab[0]: chemin
tab[1]: nom du fiecher avec extension
tab[2]: extension seul
 
regarde les fonctions basename et pathinfo...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951551
nycius
Ich liebe dich !
Posté le 12-01-2005 à 12:42:22  profilanswer
 

basename marche bien
 
seulement je narrive pas avec le form a recuperer le nom du champ file et ensuite le passer en basename
 
ca merde quand je le fait

n°951565
Xav_
The only one...
Posté le 12-01-2005 à 12:59:26  profilanswer
 

Citation :

seulement je narrive pas avec le form a recuperer le nom du champ file et ensuite le passer en basename
 
ca merde quand je le fait


 
tu ne donne pas le message d'erreur, ni le srcipt en cause, je veux bien aider mais ma boule de cristal étant tombé en panne hier...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951592
nycius
Ich liebe dich !
Posté le 12-01-2005 à 13:13:14  profilanswer
 

desolé
 
en fait jai fait ca :
f est le nom du champ parcourir
 

Code :
  1. $l1 = $f["basename"];
  2. $sql = "INSERT INTO produits(Id,logo1) Values('','$l1')";


mais ca prend pas

n°951616
Xav_
The only one...
Posté le 12-01-2005 à 13:46:16  profilanswer
 

j'aurais plutot vu un truc du genre:
 

Code :
  1. $l1 = basename($_POST['f']); //(si f est le nom du champ)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951618
nycius
Ich liebe dich !
Posté le 12-01-2005 à 13:48:22  profilanswer
 

ca ne marche pas  
ca me donne cela : C:\\Documents and Settings\\Mickaël_PC\\Mes documents\\index2.html

n°951622
spaceunive​rse
Posté le 12-01-2005 à 13:57:01  profilanswer
 

déja tu peux désactiver les magic_quote dans ton php.ini pour ne pas avoir les \\.
Ensuite essaie toujours avec la fonction explode et la dernière valeur du tableau sera le nom de ton fichier.

n°951624
simogeo
j'ai jamais tué de chats, ...
Posté le 12-01-2005 à 13:58:33  profilanswer
 

echo basename($_FILES['A']['name']);


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°951626
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:01:35  profilanswer
 

simogeo a écrit :

echo basename($_FILES['A']['name']);


 
 
je fais ?
basename($_FILES['A'][f]);
 
f etant le nom de mon champ

mood
Publicité
Posté le 12-01-2005 à 14:01:35  profilanswer
 

n°951630
simogeo
j'ai jamais tué de chats, ...
Posté le 12-01-2005 à 14:05:04  profilanswer
 

echo basename($_FILES['f']['name']);


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°951632
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:07:13  profilanswer
 

ca ne maffiche rien

n°951638
simogeo
j'ai jamais tué de chats, ...
Posté le 12-01-2005 à 14:13:21  profilanswer
 

:sleep:  
 
code


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°951640
Xav_
The only one...
Posté le 12-01-2005 à 14:15:14  profilanswer
 

si tu matte la doc PHP de basename tu verra:

Citation :

Sous Windows, les caractères (/) et anti-slash (\) sont utilisés comme séparateurs de dossier. Sous les autres OS, seul le caractère slash (/) est utilisé.


 
donc tu ajoute un str_replace pour remplacer les "\" par des "/" et ensuite tu fait le basename
 

Code :
  1. $l1 = basename(str_replace ("\", "/", $_POST['f'])); //(si f est le nom du champ)


 
EDIT: et en meme temps je suis quand meme pas loin de te dire RTFM ;)


Message édité par Xav_ le 12-01-2005 à 14:16:36

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951641
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:15:15  profilanswer
 

jai affiché ca lorsque le formulaire ce declenche pour voir le nom du fichier  
echo basename($_FILES['f']['name']);
 

n°951645
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:20:17  profilanswer
 

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/velostoc/www/admin/aj7.php on line 4
 
:)
 
ligne 4 :  
$l1 = basename(str_replace ("\", "/", $_GET['f']));

n°951650
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:23:24  profilanswer
 

jai rien dis ca marche
merci a vous

n°951653
Xav_
The only one...
Posté le 12-01-2005 à 14:25:31  profilanswer
 

nycius a écrit :

jai rien dis ca marche
merci a vous


 
petit galopin, que je t'y reprenne pas...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951654
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:26:46  profilanswer
 

:)

n°951664
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:40:57  profilanswer
 

desole de vous deranger encore mais ce script avait pour but de copier une image selectionné dans un dossier sur le ftp
 
alors jai fait ca :
 

Code :
  1. $l1 = basename(str_replace("\\", "/", $_GET['f']));
  2. $dossier = '/img/';
  3. copy(str_replace("\\","/",$_GET['f']), $dossier.$l1);


 
seulement ca ne marche pas
jai une erreur

n°951670
Xav_
The only one...
Posté le 12-01-2005 à 14:49:16  profilanswer
 

Citation :

jai une erreur

tjs pas eu le temps faire réparer ma boule de crystal, c'est quoi l'erreur ??? quelle lign mise en cause ???


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951672
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:51:55  profilanswer
 

Warning: copy(C://Documents and Settings//Mickaël_PC//Mes documents//index2.html): failed to open stream
 
ligne 11 : copy(str_replace("\\","/",$_GET['f']), $dossier.$l1);

n°951677
Xav_
The only one...
Posté le 12-01-2005 à 14:55:16  profilanswer
 

echo $dossier."/n";
echo $l1;
 
juste avant la ligne 11 pour voir quel chemin tu es en train de lui filer....
 
EDIT: non je suis un boulet, le chemin on l'a dans le message d'erreur...


Message édité par Xav_ le 12-01-2005 à 14:56:26

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951679
nycius
Ich liebe dich !
Posté le 12-01-2005 à 14:56:47  profilanswer
 

en fait jai mis le dossier en dur
$dossier = '/prod/img/';

n°951684
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:01:08  profilanswer
 

C://Documents and Settings//Mickaël_PC//Mes documents//index2.html
 
en fait je sais pas pkoi il maffiche cela car jai fait un str replace
normalement il devrait me donner  
C:\Documents and Settings\Mickaël_PC\Mes documents\index2.html ?

n°951685
Xav_
The only one...
Posté le 12-01-2005 à 15:01:11  profilanswer
 

kler, que pour le serveur, écrire sur:
C://Documents and Settings//Mickaël_PC//Mes documents//
c'est pas comme écrire sur:
/prod/img/


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951688
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:03:21  profilanswer
 

pourtant avec le str replace ca devrait me donner :
C:\Documents and Settings\Mickaël_PC\Mes documents\index2.html
 
?

n°951689
Xav_
The only one...
Posté le 12-01-2005 à 15:04:35  profilanswer
 

Citation :

Code :
  1. str_replace("\\","/",$_GET['f'])



 
pour tranbsformer:
C://Documents and Settings//Mickaël_PC//Mes documents//index2.html  
en
C:\Documents and Settings\Mickaël_PC\Mes documents\index2.html
 
j'aurais plutot dis:

Code :
  1. str_replace("//","\",$_GET['f'])



---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951691
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:07:30  profilanswer
 

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING on line  
 
line 10 : echo str_replace("//","\",$_GET['f']);
 

n°951693
Xav_
The only one...
Posté le 12-01-2005 à 15:09:47  profilanswer
 

copy(str_replace("//","\",$_GET['f']), $dossier.$l1);


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951694
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:12:00  profilanswer
 

tj le meme message derreur

n°951696
Xav_
The only one...
Posté le 12-01-2005 à 15:15:51  profilanswer
 

essai:
 copy(str_replace("//"","\",$_GET['f']), $dossier.$l1);
 
peut etre que le slash échappe la 2_ème quote...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951698
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:17:30  profilanswer
 

maintenant jai cette erreur :(
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING

n°951701
Xav_
The only one...
Posté le 12-01-2005 à 15:25:46  profilanswer
 

autant pour moi, c'est lautre qui échappe:
copy(str_replace("//","\\",$_GET['f']), $dossier.$l1);
 
testé ya 2 sec:

Code :
  1. <?
  2. $toto='C://Documents and Settings//Mickaël_PC//Mes documents//index2.html';
  3. echo str_replace("//", "\\", $toto);
  4. ?>


 
ça m'affiche:
C:\Documents and Settings\Mickaël_PC\Mes documents\index2.html


Message édité par Xav_ le 12-01-2005 à 15:28:51

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951704
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:28:56  profilanswer
 

alors jai mis ca :
copy(str_replace("\\","\"",$_GET['f']), $dossier.$l1);  
 
 
et jobtient ca :
Warning: copy(C:""Documents and Settings""Mickaël_PC""Mes documents""html.html): failed to open stream: No such file or directory

n°951705
Xav_
The only one...
Posté le 12-01-2005 à 15:30:10  profilanswer
 

lis mon post d'au-dessus...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951707
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:32:39  profilanswer
 

oui seulement $_GET['f'] me renvoi : C:\\Documents and Settings\\Mickaël_PC\\Mes documents\\Untitled-3.htm

n°951710
Xav_
The only one...
Posté le 12-01-2005 à 15:36:37  profilanswer
 

ben peut etre qu'avec tous les exemples que je viens de faire avec toi tu vas arriver à trouver tout seul :P paske j'ai malheureusement un métier que j'ai bcp délaissé pour essayer de t'aider...
 
Je repasse un peu plus tard pour voir si tu bloque tjs, je verrai ce que je peux faire...
 
Mais tu es tout proche, il faut trouver les bons "\" et quote pour éviter que ça échappe au mauvais endroit...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°951711
nycius
Ich liebe dich !
Posté le 12-01-2005 à 15:37:05  profilanswer
 

ok merci bcp de mavoir aidé :)

n°951715
Xav_
The only one...
Posté le 12-01-2005 à 15:40:46  profilanswer
 

echo str_replace("\\", "\\", $toto);
ça doit meme pouvoir le faire...


Message édité par Xav_ le 12-01-2005 à 15:41:11

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Recuperer seulement le nom du ficher dans un champ File

 

Sujets relatifs
[PHP][SQL]Double insertion et récuperation de champ[résolu] problème pour récupérer variables
Recuperer des mails (mailing list)Récupérer éléments génerer dynamiquement
récupérer donné d'une liste déroulanteJ'ai seulement 2 neuronnes qui fonctionnent
[Java] Jtree : récupérer le noeud qui a le focus...récupérer ce qu'on écrit ds un TextField
champ NuméroAuto qui s'enflammeConditions dans champ de formulaire Access
Plus de sujets relatifs à : Recuperer seulement le nom du ficher dans un champ File


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR