IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction Copy marche pas


Sujet :

Langage PHP

  1. #21
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bref, revenir au code de base : Upload de fichiers en PHP

  2. #22
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    ok, si j'ai bien tout compris, j'ai mis : (File1 est le nom du champ dans mon formulaire)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if (!move_uploaded_file($_FILES['File1']['tmp_name'], $content_dir.$nom_fichier2))
          {
              echo "<br>Impossible de déplacer ".$fichierauploader."<br>(".$content_dir.$nom_fichier2.")";
          }

    et j'obtiens :
    Citation Envoyé par php
    Notice: Undefined index: File1 in D:\sites\fichiers\upload.php on line 64

  3. #23
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Là normalement, ça devrait marcher
    Tu es bien dans le script de traitement du formulaire ? Essaye d'afficher le contenu de $_FILES avec un var_dump($_FILES).

  4. #24
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Ci-dessous le résultat de var_dump($_FILES);
    Je ne sais pas si cela a de l'importance mais le formulaire est sur une page asp et je passe sur une page php pour le traitement via une redirection en javascript.

  5. #25
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le fichier uploadé n'existe que pour la page de destination du formulaire.
    Il ne survit pas à la redirection.

  6. #26
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    ARF !!! Désolé de ne pas l'avoir précisé avant.

    Je vais voir si je ne peux pas activer la cohabitation asp-php comme j'avais sur mon ancien serveur.

    Merci pour votre aide et désolé de vous avoir fait perdre votre temps

  7. #27
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les deux peuvent cohabiter : PHP se moque que le formulaire ait été construit en ASP (d'ailleurs il ne le sait pas), il reçoit juste les données.

  8. #28
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Je sais qu'il peuvent cohabiter mais actuellement si j’envoie les données de mon formulaire en POST (comme c'était programmé initialement), il ne transmet rien à ma page php. C'est pour cela que j'ai modifié avec un javascript.

  9. #29
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Heu... ASP (comme PHP du reste) n'envoie jamais de formulaire à qui que ce soit, il se contente de créer une page HTML contenant un formulaire.
    Donc si tu ne reçois rien, ça n'a rien à voir avec ASP ou PHP mais c'est juste que le code créé est incorrect, par exemple l'attribut enctype est-il bien présent et sa valeur est-elle multipart/form-data ?

  10. #30
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Bonjour Bovino,

    oui c'est présent, ci-dessous le code initial de mon formulaire :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form ACTION="upload.php" METHOD="POST" ENCTYPE="multipart/form-data" NAME="Form1">
                <INPUT NAME="File1" TYPE="File" ENCTYPE="multipart/form-data">
                <INPUT NAME="Submit1" TYPE="button" value="Soumettre la requête" onClick="envoyer()">
    </form>

    et en javascript
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function tester() 
    {
    	with(window.document.Form1)
    	{
    		texte = File1.value;
    		result = texte.search(/^[a-zA-Z_0-9: \\\/]+_((0[1-9])|([1-2][0-9])|(3[0-1]))((0[1-9])|(1[0-2]))[0-9][0-9][\.][txt][xls]/);
    		if (result != -1)
    		{
    			document.getElementById('alerte').style.visibility='hidden';
    			return true;
    		}
    		else
    		{
    			document.getElementById('alerte').style.visibility='visible';
    			return false;
    		}
    	}
    }
    function envoyer()
    {
    	if (tester())
    		document.Form1.submit();
    }

  11. #31
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Salut c'est re-moi, après plusieurs tests, il s'agit de ma balise
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT NAME="File1" TYPE="File" ENCTYPE="multipart/form-data">
    que je n'arrive pas à récupérer en POST.
    Si je renvoi sa valeur dans une autre balise, je la récupère mais dans ce cas j'ai "C:\fakepath\" donc inutilisable.
    Est ce qu'il pourrait s'agir d'une config du serveur ?

  12. #32
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Il n'y a pas d'attribut enctype pour une balise <input /> !

    Sinon
    je n'arrive pas à récupérer en POST
    un fichier ne se récupère pas avec $_POST mais avec $_FILES...

    Quant au chemin reçu, c'est tout à fait normal : le serveur n'a pas à connaitre l'arborescence locale du fichier transféré, donc le navigateur ne l'envoie pas, mais le fichier en lui-même est tout à fait utilisable !

    EDIT
    Ton expression régulière en JavaScript ne fait pas ce que tu crois au niveau de l'extension !
    ici, tu demandes qu'il y ai deux lettres après le point : t, x ou t suivie de x, l ou s, donc tx, tl, ts, xx, xl ou xs !

  13. #33
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    J'ai réussi !!!!!

    Je me suis servi de ce code pour traiter mes variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $File1=$_FILES['File1']['tmp_name'];
    $File1_name=$_FILES['File1']['name'];
    Merci à tous de votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. pourquoi cette fonction ne marche pas?
    Par kazannova dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2008, 01h59
  2. La sous-fonction ne marche pas dans le programme principal
    Par lematlabeur dans le forum MATLAB
    Réponses: 11
    Dernier message: 15/11/2007, 21h04
  3. fonction redimensionnement marche pas sous firefox
    Par calitom dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/09/2007, 14h39
  4. [EasyPHP] fonction mail marche pas en local
    Par sitalgerie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/04/2007, 20h01
  5. pourquoi ma fonction ne marche pas?
    Par isma92 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 30/01/2007, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo