[php] transférer sur le serveur 2 fichiers

sylvain -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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
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
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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