[php] transférer sur le serveur 2 fichiers

sylvain -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour à tous,

Je ne parviens pas à transférer sur le serveur 2 fichiers en même tps, seulement un seul est transféré. Je ne vois pas de problèmes.

Voici mon code:

<tr><td><B>Insérer le CV : </B></td>
<td><input type="file" name="cv"></td>
</tr>
<tr><td><B>Insérer la lettre de motivation : </B></td>
<td><input type="file" name"lettremotiv"></td>
</tr>

if (isset($_FILES['cv']))
{
$codeerreurcv = $_FILES['cv']['erreur'];
}

if (isset($_FILES['cv']))
{
if ($codeerreurcv == UPLOAD_ERR_OK)
{
// Le fichier a bien été transmis
$cv = $_FILES['cv'];
$extensioncv = strrchr($_FILES['cv']['name'], '.');

$candidat = ExecRequete ("Select * From Candidat Where codecand=$codecand",$connexion);
while($cand = ObjetSuivant($candidat))
{
$nomcand = $cand->nomcand;
copy($cv['tmp_name'], "./CV/cv$codecand$nomcand$extensioncv");

$updateliencv = "UPDATE Candidat SET liencv=CONCAT('cv','$codecand','$nomcand','$extensioncv') "
. " WHERE codecand=$codecand";
ExecRequete ($updateliencv, $connexion);
}
}
else
{
// Une erreur quelque part
switch ($codeerreurcv)
{
case UPLOAD_ERR_NO_FILE:
echo "Vous avez oublié de transmettre le fichier !?\n";
break;

case UPLOAD_ERR_INI_SIZE:
echo "Le fichier dépasse la taille max. autorisée par PHP";
break;

case UPLOAD_ERR_PARTIAL:
echo "Le fichier a été transféré partiellement";
break;

default:
echo "Ne doit pas arriver!!!";
}
}
}

if (isset($_FILES['lettremotiv']))
{
$codeerreurlettremotiv = $_FILES['lettremotiv']['erreur'];
}

if (isset($_FILES['lettremotiv']))
{
if ($codeerreurlettremotiv == UPLOAD_ERR_OK)
{
// Le fichier a bien été transmis
$lettremotiv = $_FILES['lettremotiv'];
$extensionlettremotiv = strrchr($_FILES['lettremotiv']['name'], '.');

echo "<B>Nom du fichier client :<B> " . $lettremotiv['name'] . "<BR>\n";
echo "<B>Nom du fichier serveur :<B> " .$lettremotiv['tmp_name'] . "<BR>\n";
echo "<B>Taille du fichier :<B> " . $lettremotiv['size'] . "<BR>\n";
echo "<B>Type du fichier :<B>\n" . $lettremotiv['type'] . "<BR>\n";
$candidat1 = ExecRequete ("Select * From Candidat Where codecand=$codecand",$connexion);
while($cand1 = ObjetSuivant($candidat1))
{
$nomcand1 = $cand1->nomcand;
copy($lettremotiv['tmp_name'], "./lettremotiv/lm$codecand$nomcand1$extensionlettremotiv");

$updatelienlettremotiv = "UPDATE Candidat SET lienlettremotiv=CONCAT('lm','$codecand','$nomcand1','$extensionlettremotiv') "
. " WHERE codecand=$codecand";
ExecRequete ($updatelienlettremotiv, $connexion);
}
}
else
{
// Une erreur quelque part
switch ($codeerreurlettremotiv)
{
case UPLOAD_ERR_NO_FILE:
echo "Vous avez oublié de transmettre le fichier !?\n";
break;

case UPLOAD_ERR_INI_SIZE:
echo "Le fichier dépasse la taille max. autorisée par PHP";
break;

case UPLOAD_ERR_PARTIAL:
echo "Le fichier a été transféré partiellement";
break;

default:
echo "Ne doit pas arriver!!!";
}
}
}</code>

Dans le formulaire, j'ai bien mis: ENCTYPE="multipart/form-data"

Si vous voyez une erreur, pourriez-vous m'aider.

merci.

PS: ExecRequete et ObjetSuivant sont des fonctions
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Pourrais-tu utiliser les balises <code> du forum afin que le code soit lisible ?
    Désolé mais je n'arrive pas à voir l'alignement de tes accolades sans ça...

    Xavier
    0
  2. sylvain
     
    ok je remet le code:

    <tr><td><B>Insérer le CV : </B></td>
    		<td><input type="file" name="cv"></td>
    	</tr>
    
    	<tr><td><B>Insérer la lettre de motivation : </B></td>
    		<td><input type="file" name="lettremotiv"></td>
    	</tr>
    
    if (isset($_FILES['cv']))
    			{
    			$codeerreurcv = $_FILES['cv']['erreur'];
    			}
    
    		if (isset($_FILES['cv']))
    			{
    			if ($codeerreurcv == UPLOAD_ERR_OK)
    				{
      				// Le fichier a bien été transmis
      				$cv = $_FILES['cv'];
      				$extensioncv = strrchr($_FILES['cv']['name'], '.');
    
    				$candidat = ExecRequete ("Select * From Candidat Where codecand=$codecand",$connexion);
    				while($cand = ObjetSuivant($candidat))
    					{
    					$nomcand = $cand->nomcand;
      					copy($cv['tmp_name'], "./CV/cv$codecand$nomcand$extensioncv");
      					
      					$updateliencv = "UPDATE Candidat SET liencv=CONCAT('cv','$codecand','$nomcand','$extensioncv') "
    	  				. " WHERE codecand=$codecand";
    					ExecRequete ($updateliencv, $connexion);
      					}
    				}
    				else
    				{
      				// Une erreur quelque part
      				switch ($codeerreurcv)
        				{
        				case UPLOAD_ERR_NO_FILE:
          				echo "Vous avez oublié de transmettre le fichier !?\n";
          				break;
    
        				case UPLOAD_ERR_INI_SIZE:
          				echo "Le fichier dépasse la taille max. autorisée par PHP";
          				break;
    
        				case UPLOAD_ERR_PARTIAL:
          				echo "Le fichier a été transféré partiellement";
          				break;
    
        				default:
          				echo "Ne doit pas arriver!!!";
        				}
    				}
    			}
    
    		if (isset($_FILES['lettremotiv']))
    			{
    			$codeerreurlettremotiv = $_FILES['lettremotiv']['erreur'];
    			}
    
    		if (isset($_FILES['lettremotiv']))
    			{
    			if ($codeerreurlettremotiv == UPLOAD_ERR_OK)
    				{
      				// Le fichier a bien été transmis
      				$lettremotiv = $_FILES['lettremotiv'];
      				$extensionlettremotiv = strrchr($_FILES['lettremotiv']['name'], '.');
      				
    				echo "<B>Nom du fichier client :<B> " . $lettremotiv['name'] . "<BR>\n";
      				echo "<B>Nom du fichier serveur :<B> " .$lettremotiv['tmp_name'] . "<BR>\n";
      				echo "<B>Taille du fichier :<B> " . $lettremotiv['size'] . "<BR>\n";
      				echo "<B>Type du fichier :<B>\n" . $lettremotiv['type']  . "<BR>\n";
    				$candidat1 = ExecRequete ("Select * From Candidat Where codecand=$codecand",$connexion);
    				while($cand1 = ObjetSuivant($candidat1))
    					{
    					$nomcand1 = $cand1->nomcand;
      					copy($lettremotiv['tmp_name'], "./lettremotiv/lm$codecand$nomcand1$extensionlettremotiv");
      					
      					$updatelienlettremotiv = "UPDATE Candidat SET lienlettremotiv=CONCAT('lm','$codecand','$nomcand1','$extensionlettremotiv') "
    	  				. " WHERE codecand=$codecand";
    					ExecRequete ($updatelienlettremotiv, $connexion);
      					}
    				}
    				else
    				{
      				// Une erreur quelque part
      				switch ($codeerreurlettremotiv)
        				{
        				case UPLOAD_ERR_NO_FILE:
          				echo "Vous avez oublié de transmettre le fichier !?\n";
          				break;
    
        				case UPLOAD_ERR_INI_SIZE:
          				echo "Le fichier dépasse la taille max. autorisée par PHP";
          				break;
    
        				case UPLOAD_ERR_PARTIAL:
          				echo "Le fichier a été transféré partiellement";
          				break;
    
        				default:
          				echo "Ne doit pas arriver!!!";
        				}
    				}
    			}
    
    
    0
  3. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Mmmmh, rien a priori...

    Et si au début de ta page, tu fais un
    print_r($_FILES);

    et que tu relances ton formulaire, il t'affiche quoi ?
    0