begin process at 2010 02 09 20:32:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > REPERAGE D'INFORMATIONS PERSONNELLES AVEC REGEXP

REPERAGE D'INFORMATIONS PERSONNELLES AVEC REGEXP


 Information sur la source

Note :
4 / 10 - par 1 personne
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caratère Classé sous :regexp, cv, reperage, informations, personnelles Niveau :Initié Date de création :04/05/2007 Date de mise à jour :16/05/2007 08:48:01 Vu :3 592

Auteur : braxivamov

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Ces regexp ont ete developpees pour une recherche d'informations personnelles dans un cv donc beaucoup de mise en forme differentes a gerer.
Vous y trouverez des regpex pour :
nom, prenom
civilite
adresse
code postal
ville
email
numero de telephone (fixe et portable)
age
experiences professionnelles (poste et societe)
formation (diplome, etablissement)
langues (a ameliorer)
divers
Apres plusieurs affinages voila le resultat, si vous avez des commentaires/conseils constructifs j'en serais ravi.

Source

  • <?php
  • echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';
  • //pratique pour les regexp
  • function accent($chaine)
  • {
  • $accent ="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
  • $noaccent="aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
  • return strtr(trim($chaine),$accent,$noaccent);
  • }
  • if(isset($_FILES["fichier"]["name"])) {
  • //cette partie doit etre grandement amelioree niveau securite
  • if(empty($_FILES["fichier"]["name"])) echo "Veuillez indiquer le chemin du fichier";
  • $dir="Upload\\";
  • $fichier=$dir . basename($_FILES["fichier"]["name"]);
  • $tmp=$_FILES["fichier"]["tmp_name"];
  • $size=$_FILES["fichier"]["size"];
  • if(!is_uploaded_file($tmp)) { echo " fichier absent"; };
  • if(!move_uploaded_file($tmp, $fichier)) { echo " pb deplacement "; };
  • echo "$fichier <br>";
  • echo "$size <br>";
  • $com = 'antiword -t "'.$fichier.'" > temp.txt';
  • echo "$com <br>";
  • if(exec($com)) echo "conversion reussie";
  • if($handle = fopen("temp.txt", "rb")) {
  • echo "ouverture reussie <br>";
  • }
  • //pre-affichage
  • while (!feof($handle)) {
  • $buffer = fgets($handle, 4096);
  • $buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
  • $buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
  • $buffer = accent($buffer);
  • echo "ligne : $buffer<br>";
  • }
  • fclose($handle);
  • if(false !== ($handle = fopen('temp.txt', 'rb'))) {
  • echo "ouverture reussie <br>";
  • }
  • $j=0;
  • $c=0;
  • $d=0;
  • $k=0;
  • $z=0;
  • $f=0;
  • $societe="";
  • $prenom="";
  • $nom="";
  • $adresse="";
  • $ville="";
  • $cp="";
  • $divers="";
  • $taille=0;
  • $age=0;
  • $l=false;
  • $testVille=false;
  • $testNom=false;
  • $testCiv=false;
  • $testEmail=false;
  • $testAdresse=false;
  • $testFixe=false;
  • $testPort=false;
  • $testCp=false;
  • $testAge=false;
  • $testExp=false;
  • $testForm=false;
  • while (feof($handle)===false) {
  • if($testForm==true && $testExp==false && $z<=250){
  • $z++;
  • }else{
  • $buffer = fgets($handle, 4096);
  • //on vire les saloperies de debut de ligne
  • $buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
  • //on remplace les espaces mutliples
  • $buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
  • $buffer = accent($buffer);
  • }
  • //Si vous avez du mal a voir a quoi sert la regexp, regardez le nom du booleen
  • if(preg_match('#(M(onsieur|adame|mademoiselle|r|d|lle))#',$buffer,$out) !==0 && $testCiv===false) {
  • $civilite = $out[0];
  • print_r($out);
  • echo "<br>";
  • echo $buffer = str_replace($civilite, '', $buffer);
  • echo "<br>civilite : $civilite<br>";
  • $testCiv=true;
  • echo"je suis passe dans la boucle civilite<br>";
  • }
  • if(preg_match('#[A-Z][[:alpha:]]+(?:\s)?[-—]?(?:\s)?([A-Z][[:alpha:]]+)?(?:\s)?([A-Z][[:alpha:]]+)?(?:\s)?[-—]?(?:\s)?[A-Z][[:alpha:]]+\s*#',$buffer,$out) !==0 && $testNom===false) {
  • $res = preg_split('# #', $buffer, -1, PREG_SPLIT_NO_EMPTY);
  • $testNom=true;
  • switch (count($res)) {
  • case (2) : $prenom = $res[0]; $nom = $res[1];
  • break;
  • case (3) : $prenom = $res[0]; $nom = $res[1].' '.$res[2];
  • break;
  • case (4) :
  • if ( $res[1]=="-" || $res[1]=="") {
  • $prenom = $res[0].' '.$res[1].' '.$res[2];
  • $nom = $res[3];
  • break; }
  • if ( $res[2]=="-" || $res[2]=="") {
  • $prenom = $res[0];
  • $nom = $res[1].' '.$res[2].' '.$res[3];
  • break;
  • }else{
  • $prenom = $res[0];
  • $nom = $res[1].' '.$res[2].' '.$res[3];
  • break;
  • }
  • case (5) :
  • if ($res[1]=="-" || $res[1]=="") {
  • $prenom = $res[0].' '.$res[1].' '.$res[2];
  • $nom = $res[3].' '.$res[4];
  • break;
  • }
  • if ( $res[3]=="-" || $res[3]=="") {
  • $prenom = $res[0];
  • $nom = $res[1].' '.$res[2].' '.$res[3].' '.$res[4];
  • break;
  • }
  • case (6) :
  • $prenom = $res[0].' '.$res[1].' '.$res[2];
  • $nom = $res[3].' '.$res[4].' '.$res[5];
  • break;
  • }
  • echo "nom : $nom<br>";
  • echo "prenom : $prenom<br>";
  • }
  • if(preg_match('#([0-9]{1,3})[, ]?(?:[a-zA-Z]{1,3})?[, ]?(rue|avenue|boulevard|impasse|cours)(?:,)?(?:\s)?([-—\'0-9[:alpha:]](?:\s)?)+\s*#i', $buffer, $out) !==0 && $testAdresse===false) {
  • $adresse = $out[0];
  • echo "adresse : $adresse<br>";
  • $testAdresse=true;
  • }
  • if(preg_match('#(([0-9](?:\s)?){5})\s([-—[:alpha:]](?:\s)?)+\s*#', $buffer, $out) !==0 && $testCp===false) {
  • $res = preg_split('# #', $buffer, -1, PREG_SPLIT_NO_EMPTY);
  • $testCp=true;
  • $pm = sizeof($res);
  • for ($i=0; $i<=sizeof($res)-1; $i++) {
  • if (preg_match('#[0-9]{2}|[0-9]{3}#', $res[$i], $out) !==0 && $j<=2) {
  • $cp .= $res[$i];
  • if(preg_match('#[0-9]{5}#', $cp, $out)) {
  • $j=3;
  • }
  • $j++;
  • }
  • if (preg_match('#(([[:alpha:]](?:\s)?)[-—]?(?:\s)?)+#', $res[$i], $out) !==0 && $testVille===false) {
  • $ville .= $out[0].' ';
  • }
  • }
  • echo "ville : $ville<br>";
  • echo "cp : $cp<br>";
  • }
  • if(preg_match('#[a-z0-9]([-_.]?[a-z0-9])+@[a-z0-9]([-_.]?[a-z0-9])+\.[a-z]{2,5}$#ixm', $buffer, $out) !==0 && $testEmail===false) {
  • $email = $out[0];
  • echo " email : $email<br>";
  • $testEmail = true;
  • }
  • if(preg_match('#[0][1234589][- \.—]?([0-9][0-9][- \.—]?){4}#', $buffer, $out) !==0 && $testFixe===false) {
  • $telFixe = $out[0];
  • echo "fix : $telFixe<br>";
  • $buffer = str_replace($telFixe, '', trim($buffer));
  • $testFixe=true;
  • }
  • if(preg_match('#[0][6][- \.—]?([0-9][0-9][- \.—]?){4}#', $buffer, $out) !==0 && $testPort===false) {
  • $telPort = $out[0];
  • echo "portable : $telPort<br>";
  • $buffer = str_replace($telPort, '', trim($buffer));
  • $testPort=true;
  • }
  • if(preg_match('#(^(age :[ ]*))?(^([0-9]{2}))[ ][a][n][s][ ]*#i',$buffer, $out) !==0 && $testAge===false) {
  • if(preg_match('#exp(é|e)rience#', $buffer, $out)){
  • }else{
  • echo "bufAge : $buffer<br>";
  • print_r($out);
  • $testAge=true;
  • $res = preg_split('# #', $buffer, -1, PREG_SPLIT_NO_EMPTY);
  • $age = date('Y') - $res[0];
  • echo "<br>age : $age<br>";
  • }
  • }
  • if(preg_match('#((Né)[e]?)?[ ](le|:|en)?[ ]([0-2][0-9]|[3][0-1]|[0-9])[-—/ ]([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—/ ]([0-9]{2,4})#ixm', $buffer, $out) !==0 && $testAge===false) {
  • $buffer = strtolower($buffer);
  • $buffer = accent($buffer);
  • $testAge=true;
  • $taille=sizeof($out);
  • $pos = 3;
  • for ($i=0; $i<=$taille-1; $i++) {
  • if(preg_match('#[[:alpha:]]#i', $out[$i], $res)) {
  • $out[$i] = strtolower($out[$i]);
  • $out[$i] = accent($out[$i]);
  • //un preg_replace a venir
  • switch($out[$i]) {
  • case('janvier') : { $out = str_replace($out[$i], '01', $out);$pos = 2;break; }
  • case('fevrier') : { $out = str_replace($out[$i], '02', $out);/*echo "<br>apres : ";print_r($out);echo"<br>"*/;$pos = 2;break; }
  • case('mars') : { $out = str_replace($out[$i], '03', $out);$pos = 2;break; }
  • case('avril') : { $out = str_replace($out[$i], '04', $out);$pos = 2;break; }
  • case('mai') : { $out = str_replace($out[$i], '05', $out);$pos = 2;break; }
  • case('juin') : { $out = str_replace($out[$i], '06', $out);$pos = 2;break; }
  • case('juillet') : { $out = str_replace($out[$i], '07', $out);$pos = 2;break; }
  • case('aout') : { $out = str_replace($out[$i], '08', $out);$pos = 2;break; }
  • case('septembre') : { $out = str_replace($out[$i], '09', $out);$pos = 2;break; }
  • case('octobre') : { $out = str_replace($out[$i], '10', $out);$pos = 2;break; }
  • case('novembre') : { $out = str_replace($out[$i], '11', $out);$pos = 2;break; }
  • case('decembre') : { $out = str_replace($out[$i], '12', $out);$pos = 2;break; }
  • }
  • }
  • }
  • if(preg_match('#\b[0-9]\b#', $out[$taille-4], $res)) $out[$taille-4] = '0'.$out[$taille-4];
  • if(preg_match('#([0-9]{4})#',$out[$taille-1], $res)) {
  • $age = $out[$taille-1].'-'.$out[$taille-$pos].'-'.$out[$taille-4];
  • $buffer = str_replace($out,'',trim($buffer));
  • }else{
  • if(preg_match('#([0-9]{2})#',$out[$taille-1], $res)) {
  • $age = '19'.$out[$taille-1].'-'.$out[$taille-$pos].'-'.$out[$taille-4];
  • $buffer = str_replace($out,'',trim($buffer));
  • }
  • }
  • echo "age : $age<br>";
  • }
  • $buffer = accent($buffer);
  • if(preg_match('#((experience[s]?|parcours)[ ](professionnel(le)?[s]?))#i', $buffer, $out) && $testExp==false ) {
  • while(preg_match('#^([ ]*[F](ormation|ORMATION))|([L](angues|ANGUES))|^([D](ivers|IVERS))\b|([L](oisirs|OISIRS))|([D](iplome|IPLOME)[sS]?)#', $buffer, $out) == 0 ) {
  • $buffer = fgets($handle, 4096);
  • $buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
  • $buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
  • $buffer = accent($buffer);
  • if(feof($handle)) break; // quand je met ca dans le while ca ne marche jamais -> ???
  • if(preg_match('#(([0-2][0-9]|[3][0-1]|[0-9])?[-—/]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—/]?([1-2]([9]|[0])[0-9]{2})|(([0-2][0-9]|[3][0-1]|[0-9])?[-—/]?([0][1-9]|[1][0-2])[-—/]?([0-9]{2})))#ixm', $buffer, $out) !==0 && $c<=2) {
  • $testExp=true;
  • $c++;
  • $xdeb = preg_replace('#[/aà— ]#', '-', trim($out[0]));
  • $buffer = str_replace($out[0], '', trim($buffer));
  • if(preg_match('#(([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?([1-2]([9]|[0])[0-9]{2})|(([0-2][0-9]|[3][0-1]|[0-9])?[-—/]?([0][1-9]|[1][0-2])[-—/]?([0-9]{2})))#ixm', $buffer, $out) !==0 ) {
  • $xfin = preg_replace('#(a|à)#', '', trim($out[0]));
  • $xfin = preg_replace('#[/aà—]#', '-', trim($out[0]));
  • $buffer = str_replace(trim($out[0]), '', trim($buffer));
  • }else{
  • if(preg_match('#((a|à)(\s)(ce)(\s)(jour))|(depuis)#i', $buffer, $out) || $c==1) {
  • $xfin = Date('m').'-'.Date('Y');
  • if(isset($out[0]))
  • $buffer = str_replace($out[0], '', trim($buffer));
  • }else{
  • $xfin=$exp[$c-1][1];
  • }
  • }
  • $xfin=preg_replace('#^[-—.a:]#', '', $xfin);
  • $exp[$c][1]=$xdeb;
  • $exp[$c][2]=$xfin;
  • while(preg_match('#([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?([1-2]([9]|[0])[0-9]{2})#ixm', $buffer, $out) == 0 && $k<=2 && $l===false ) {
  • if(preg_match('#[A-Z]([[:alpha:]\']+[ ]?)+#i', $buffer, $out) !==0) {
  • $poste[$k] = $out[0];
  • $buffer = str_replace($out[0], '', trim($buffer));
  • $k++;
  • }
  • if(preg_match('#[A-Z]([[:alpha:]]*[.\']?[ ]?[:]?[ ]?[[:alpha:]]+[.\']?[ ]?)+#', $buffer, $out) !==0) {
  • $societe[$k] = $out[0];
  • $buffer = str_replace($out[0], '', trim($buffer));
  • $l=true;
  • }else $l=true;
  • }
  • $l=false;
  • }
  • }
  • if(isset($poste)){
  • echo"<br>postes : ";
  • print_r($poste);
  • }
  • if(isset($societe)){
  • echo"<br>societe : ";
  • print_r($societe);
  • }
  • if(isset($exp)){
  • echo"<br>dates : ";
  • print_r($exp);
  • echo"<br>";
  • }
  • }
  • $k=0;
  • $l=false;
  • if(preg_match('#(^[ ]?[F](ormation|ORMATION))|(^[D](iplome)[s]?|IPLOME[S]?)#', $buffer, $out) || preg_match('#DIPLOME#', $buffer, $out) && $testForm==false) {
  • while((preg_match('#(langue[s]?)|((expérience[s]?|parcours)[ ](professionnel(le)?[s]?))|\b(divers)\b|(loisirs)|(informatique)|((langue)[s]?)#i', $buffer, $out) == 0) ) {
  • if(feof($handle)) break;
  • $buffer = fgets($handle, 4096);
  • $buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
  • $buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
  • $buffer = accent($buffer);
  • if(preg_match('#(([0-2][0-9]|[3][0-1]|[0-9])[-—/])?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—/a]?([1-2]([9]|[0])[0-9]{2})#ixm', $buffer, $out) !==0 && $d<=2) {
  • $testForm=true;
  • $d++;
  • $fdeb = preg_replace('#[/aà— ]#', '-', trim($out[0]));
  • $buffer = str_replace($out[0], '', trim($buffer));
  • if(preg_match('#([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?[1-2]([9]|[0])[0-9]{2}#ixm', $buffer, $out) !==0 ) {
  • $ffin = preg_replace('#(a|à)#', '', trim($out[0]));
  • $ffin = preg_replace('#[/aà—]#', '-', trim($out[0]));
  • $buffer = preg_replace('#^[ ](a|à)[ ]#', '', $buffer);
  • $buffer = str_replace(trim($out[0]), '', trim($buffer));
  • }else{
  • if(isset($out[0])) $buffer = str_replace($out[0], '', trim($buffer));
  • }
  • if(isset($ffin)) $ffin=preg_replace('#^[-—.a:]#', '', $ffin);
  • $form[$d][1]=$fdeb;
  • if(isset($ffin)) $form[$d][2]=$ffin;
  • $fdeb="";
  • unset($ffin);
  • while(preg_match('#([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?([1-2]([9]|[0])[0-9]{2})#ixm', $buffer, $out) == 0 && $k<=2 && $l===false ) {
  • if(preg_match('#([A-Z][.]?[[:alpha:]\']+[.]?[ ]?[:]?[ ]?[[:alpha:]\']+[.]?[ ]?)+#i', $buffer, $out) !==0) {
  • $dipl[$k] = $out[0];
  • $buffer = str_replace($out[0], '', trim($buffer));
  • $k++;
  • }
  • if(preg_match('#[A-Z]([[:alpha:]]*[.\']?[ ]?[:]?[ ]?[[:alpha:]]+[.\']?[ ]?)+#', $buffer, $out) !==0) {
  • $etab[$k] = $out[0];
  • $buffer = str_replace($out[0], '', trim($buffer));
  • $l=true;
  • }else break;
  • }
  • $l=false;
  • }
  • }
  • if(isset($dipl)) {
  • echo"<br>diplomes : ";
  • print_r($dipl);
  • }else echo "<br>no diplomes found<br>";
  • if(isset($etab)) {
  • echo"<br>Etablissements : ";
  • print_r($etab);
  • }else echo "<br>no etablissement found<br>";
  • if(isset($form)) {
  • echo"<br>dates : ";
  • print_r($form);
  • }else echo "<br>no dates diplomes found<br>";
  • }
  • if(preg_match('#anglais|allemand|italien|espagnol|portugais|arabe|chinois#i', $buffer, $out)) {
  • $f++;
  • $langue[$f]=$buffer;
  • }
  • if(preg_match('#([D](ivers|IVERS))\b#', $buffer, $out)) {
  • while(preg_match('#.+#', $buffer, $out)==true){
  • if(feof($handle)) break;
  • $divers.="$buffer<br>";
  • $buffer = fgets($handle, 4096);
  • }
  • }
  • }
  • if(isset($langue)){
  • echo"langues : ";
  • print_r($langue);
  • echo"<br>";
  • }
  • if(isset($divers)) echo "<br>$divers";
  • fclose($handle);
  • }
  • ?>
  • <html>
  • <head><title>Formulaire CV
  • </title></head>
  • <body>
  • <br>
  • <form method="POST" action="test.php" name="formulaire" enctype="multipart/form-data">
  • <br>
  • <div class="block">
  • <h2><span>Envoyez votre CV</span></h2>
  • <div class="box">
  • <table>
  • <tr><td>
  • <input type="file" name="fichier"> <br>
  • <input type="submit" name="valider"> <br>
  • <tr><td>
  • </table>
  • </div>
  • </div>
  • </form>
  • </body></html>
<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';

//pratique pour les regexp
function accent($chaine)
{
   $accent  ="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
   $noaccent="aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
   return strtr(trim($chaine),$accent,$noaccent);
} 

if(isset($_FILES["fichier"]["name"])) {

        //cette partie doit etre grandement amelioree niveau securite

	if(empty($_FILES["fichier"]["name"])) echo "Veuillez indiquer le chemin du fichier";

	$dir="Upload\\";
	$fichier=$dir . basename($_FILES["fichier"]["name"]);
	$tmp=$_FILES["fichier"]["tmp_name"];
	$size=$_FILES["fichier"]["size"];
	
	if(!is_uploaded_file($tmp)) { echo " fichier absent"; };
	if(!move_uploaded_file($tmp, $fichier)) { echo " pb deplacement "; };

	echo "$fichier <br>";
	echo "$size <br>";

	$com = 'antiword -t "'.$fichier.'" > temp.txt';
	echo "$com <br>";
	
	if(exec($com)) echo "conversion reussie"; 

	if($handle = fopen("temp.txt", "rb")) {
	echo "ouverture reussie <br>";
	}
	
        //pre-affichage

	while (!feof($handle)) {
		$buffer = fgets($handle, 4096);
		$buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
		$buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
		$buffer = accent($buffer);
		echo "ligne : $buffer<br>";
	}
   fclose($handle);
   
   if(false !== ($handle = fopen('temp.txt', 'rb'))) {
	echo "ouverture reussie <br>";
	}
		
	$j=0;
	$c=0;
	$d=0;
	$k=0;
	$z=0;
	$f=0;
	$societe="";
	$prenom="";
	$nom="";
	$adresse="";
	$ville="";
	$cp="";
	$divers="";
	$taille=0;
	$age=0;
	$l=false;
	$testVille=false;
	$testNom=false;
	$testCiv=false;
	$testEmail=false;
	$testAdresse=false;
	$testFixe=false;
	$testPort=false;
	$testCp=false;
	$testAge=false;
	$testExp=false;
	$testForm=false;
		
	while (feof($handle)===false) {
		if($testForm==true && $testExp==false && $z<=250){
		$z++;
		}else{
		$buffer = fgets($handle, 4096);
                //on vire les saloperies de debut de ligne
		$buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
                //on remplace les espaces mutliples
		$buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
		$buffer = accent($buffer);
		}
		
                //Si vous avez du mal a voir a quoi sert la regexp, regardez le nom du booleen

		if(preg_match('#(M(onsieur|adame|mademoiselle|r|d|lle))#',$buffer,$out) !==0 && $testCiv===false) { 
			$civilite = $out[0];
			print_r($out);
			echo "<br>";
			echo $buffer = str_replace($civilite, '', $buffer); 
			echo "<br>civilite : $civilite<br>";
			$testCiv=true;
			echo"je suis passe dans la boucle civilite<br>";
		}
			
		if(preg_match('#[A-Z][[:alpha:]]+(?:\s)?[-—]?(?:\s)?([A-Z][[:alpha:]]+)?(?:\s)?([A-Z][[:alpha:]]+)?(?:\s)?[-—]?(?:\s)?[A-Z][[:alpha:]]+\s*#',$buffer,$out) !==0 && $testNom===false) {
			$res = preg_split('# #', $buffer, -1, PREG_SPLIT_NO_EMPTY);
			$testNom=true;
			switch (count($res)) {
				case (2) : $prenom = $res[0]; $nom = $res[1];
					break;
					
				case (3) : $prenom = $res[0]; $nom = $res[1].' '.$res[2];
					break;
					
				case (4) : 
					if ( $res[1]=="-" || $res[1]=="—") { 
						$prenom = $res[0].' '.$res[1].' '.$res[2];
						$nom = $res[3];
						break; }
					if ( $res[2]=="-" || $res[2]=="—") {
						$prenom = $res[0];
						$nom = $res[1].' '.$res[2].' '.$res[3]; 
						break; 
						}else{
							$prenom = $res[0];
							$nom = $res[1].' '.$res[2].' '.$res[3];
							break;
						}
							
				case (5) :
					if ($res[1]=="-" || $res[1]=="—") {
						$prenom = $res[0].' '.$res[1].' '.$res[2];
						$nom = $res[3].' '.$res[4];
						break;
						}
					if ( $res[3]=="-" || $res[3]=="—") {
						$prenom = $res[0];
						$nom = $res[1].' '.$res[2].' '.$res[3].' '.$res[4];
						break;
						}
							
					case (6) :
						$prenom = $res[0].' '.$res[1].' '.$res[2];
						$nom = $res[3].' '.$res[4].' '.$res[5];
						break;
			}
			echo "nom : $nom<br>";
			echo "prenom : $prenom<br>";
		}
			
		if(preg_match('#([0-9]{1,3})[, ]?(?:[a-zA-Z]{1,3})?[, ]?(rue|avenue|boulevard|impasse|cours)(?:,)?(?:\s)?([-—\'0-9[:alpha:]](?:\s)?)+\s*#i', $buffer, $out) !==0 && $testAdresse===false) {
			$adresse = $out[0];
			echo "adresse : $adresse<br>";
			$testAdresse=true;
		}
			
		if(preg_match('#(([0-9](?:\s)?){5})\s([-—[:alpha:]](?:\s)?)+\s*#', $buffer, $out) !==0 && $testCp===false) {
			$res = preg_split('# #', $buffer, -1, PREG_SPLIT_NO_EMPTY);
			$testCp=true;
			$pm = sizeof($res);
			for ($i=0; $i<=sizeof($res)-1; $i++) {
				if (preg_match('#[0-9]{2}|[0-9]{3}#', $res[$i], $out) !==0 && $j<=2) {
					$cp .= $res[$i];
					if(preg_match('#[0-9]{5}#', $cp, $out)) {
						$j=3;
					}
				$j++;
				}
				
				if (preg_match('#(([[:alpha:]](?:\s)?)[-—]?(?:\s)?)+#', $res[$i], $out) !==0 && $testVille===false) {
					$ville .= $out[0].' ';
				}
			}
			echo "ville : $ville<br>";
			echo "cp : $cp<br>";
		}
		
		if(preg_match('#[a-z0-9]([-_.]?[a-z0-9])+@[a-z0-9]([-_.]?[a-z0-9])+\.[a-z]{2,5}$#ixm', $buffer, $out) !==0 && $testEmail===false) {
			$email = $out[0];
			echo " email : $email<br>";
			$testEmail = true;
		}
			
		if(preg_match('#[0][1234589][- \.—]?([0-9][0-9][- \.—]?){4}#', $buffer, $out) !==0 && $testFixe===false) {
			$telFixe = $out[0];
			echo "fix : $telFixe<br>";
			$buffer = str_replace($telFixe, '', trim($buffer));
			$testFixe=true;
		}
			
		if(preg_match('#[0][6][- \.—]?([0-9][0-9][- \.—]?){4}#', $buffer, $out) !==0 && $testPort===false) {
			$telPort = $out[0];
			echo "portable : $telPort<br>";
			$buffer = str_replace($telPort, '', trim($buffer));
			$testPort=true;
		}
			
		if(preg_match('#(^(age :[ ]*))?(^([0-9]{2}))[ ][a][n][s][ ]*#i',$buffer, $out) !==0 && $testAge===false) {
			if(preg_match('#exp(é|e)rience#', $buffer, $out)){
				}else{
			echo "bufAge : $buffer<br>";
			print_r($out);
			$testAge=true;
			$res = preg_split('# #', $buffer, -1, PREG_SPLIT_NO_EMPTY);
			$age = date('Y') - $res[0];
			echo "<br>age : $age<br>";
				}
			
		}
		
		if(preg_match('#((Né)[e]?)?[ ](le|:|en)?[ ]([0-2][0-9]|[3][0-1]|[0-9])[-—/ ]([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—/ ]([0-9]{2,4})#ixm', $buffer, $out) !==0 && $testAge===false) {
			$buffer = strtolower($buffer);
			$buffer = accent($buffer);
			$testAge=true;
			$taille=sizeof($out);
			$pos = 3;
			for ($i=0; $i<=$taille-1; $i++) {
				if(preg_match('#[[:alpha:]]#i', $out[$i], $res)) {
					$out[$i] = strtolower($out[$i]);
					$out[$i] = accent($out[$i]);
                                        //un preg_replace a venir
					switch($out[$i]) {
						case('janvier') : { $out = str_replace($out[$i], '01', $out);$pos = 2;break; }
						case('fevrier') : { $out = str_replace($out[$i], '02', $out);/*echo "<br>apres : ";print_r($out);echo"<br>"*/;$pos = 2;break; }
						case('mars') : { $out = str_replace($out[$i], '03', $out);$pos = 2;break; }
						case('avril') : { $out = str_replace($out[$i], '04', $out);$pos = 2;break; }
						case('mai') : { $out = str_replace($out[$i], '05', $out);$pos = 2;break; }
						case('juin') : { $out = str_replace($out[$i], '06', $out);$pos = 2;break; }
						case('juillet') : { $out = str_replace($out[$i], '07', $out);$pos = 2;break; }
						case('aout') : { $out = str_replace($out[$i], '08', $out);$pos = 2;break; }
						case('septembre') : { $out = str_replace($out[$i], '09', $out);$pos = 2;break; }
						case('octobre') : { $out = str_replace($out[$i], '10', $out);$pos = 2;break; }
						case('novembre') : { $out = str_replace($out[$i], '11', $out);$pos = 2;break; }
						case('decembre') : { $out = str_replace($out[$i], '12', $out);$pos = 2;break; }
					}
				}
			}
						
			if(preg_match('#\b[0-9]\b#', $out[$taille-4], $res)) $out[$taille-4] = '0'.$out[$taille-4];
			
			if(preg_match('#([0-9]{4})#',$out[$taille-1], $res)) {
				$age = $out[$taille-1].'-'.$out[$taille-$pos].'-'.$out[$taille-4];
				$buffer = str_replace($out,'',trim($buffer));
					}else{
						if(preg_match('#([0-9]{2})#',$out[$taille-1], $res)) {
						$age = '19'.$out[$taille-1].'-'.$out[$taille-$pos].'-'.$out[$taille-4];
						$buffer = str_replace($out,'',trim($buffer));
						}
					}
				echo "age : $age<br>";
		}
		
		$buffer = accent($buffer);
		
		if(preg_match('#((experience[s]?|parcours)[ ](professionnel(le)?[s]?))#i', $buffer, $out) && $testExp==false ) {
			while(preg_match('#^([ ]*[F](ormation|ORMATION))|([L](angues|ANGUES))|^([D](ivers|IVERS))\b|([L](oisirs|OISIRS))|([D](iplome|IPLOME)[sS]?)#', $buffer, $out) == 0 ) {
				$buffer = fgets($handle, 4096);
				$buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
				$buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
				$buffer = accent($buffer);
					
				if(feof($handle)) break; // quand je met ca dans le while ca ne marche jamais -> ???
					
				if(preg_match('#(([0-2][0-9]|[3][0-1]|[0-9])?[-—/]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—/]?([1-2]([9]|[0])[0-9]{2})|(([0-2][0-9]|[3][0-1]|[0-9])?[-—/]?([0][1-9]|[1][0-2])[-—/]?([0-9]{2})))#ixm', $buffer, $out) !==0 && $c<=2) {
				
					$testExp=true;
					$c++;
					$xdeb = preg_replace('#[/aà— ]#', '-', trim($out[0]));
					$buffer = str_replace($out[0], '', trim($buffer));
															
					if(preg_match('#(([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?([1-2]([9]|[0])[0-9]{2})|(([0-2][0-9]|[3][0-1]|[0-9])?[-—/]?([0][1-9]|[1][0-2])[-—/]?([0-9]{2})))#ixm', $buffer, $out) !==0 ) {
						
						$xfin = preg_replace('#(a|à)#', '', trim($out[0]));
						$xfin = preg_replace('#[/aà—]#', '-', trim($out[0]));
						$buffer = str_replace(trim($out[0]), '', trim($buffer));
						}else{
							if(preg_match('#((a|à)(\s)(ce)(\s)(jour))|(depuis)#i', $buffer, $out) || $c==1) {
								$xfin = Date('m').'-'.Date('Y');
								if(isset($out[0])) 
									$buffer = str_replace($out[0], '', trim($buffer));
									}else{
										$xfin=$exp[$c-1][1];
									}
						}
						$xfin=preg_replace('#^[-—.a:]#', '', $xfin);
						$exp[$c][1]=$xdeb;
						$exp[$c][2]=$xfin;
						
						while(preg_match('#([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?([1-2]([9]|[0])[0-9]{2})#ixm', $buffer, $out) == 0 && $k<=2 && $l===false ) {
							if(preg_match('#[A-Z]([[:alpha:]\']+[ ]?)+#i', $buffer, $out) !==0) {
								$poste[$k] = $out[0];
								$buffer = str_replace($out[0], '', trim($buffer));
								$k++;
								
							}
							
							if(preg_match('#[A-Z]([[:alpha:]]*[.\']?[ ]?[:]?[ ]?[[:alpha:]]+[.\']?[ ]?)+#', $buffer, $out) !==0) {
								$societe[$k] = $out[0];
								$buffer = str_replace($out[0], '', trim($buffer));
								$l=true;
							}else $l=true;
						}
						$l=false;
						
				}
			}
			if(isset($poste)){
			echo"<br>postes : ";
			print_r($poste);
			}
			if(isset($societe)){
			echo"<br>societe : ";
			print_r($societe);
			}
			if(isset($exp)){
			echo"<br>dates : ";
			print_r($exp);
			echo"<br>";
			}
		}
			
			$k=0;
			$l=false;
			
		if(preg_match('#(^[ ]?[F](ormation|ORMATION))|(^[D](iplome)[s]?|IPLOME[S]?)#', $buffer, $out) || preg_match('#DIPLOME#', $buffer, $out) && $testForm==false) {
			while((preg_match('#(langue[s]?)|((expérience[s]?|parcours)[ ](professionnel(le)?[s]?))|\b(divers)\b|(loisirs)|(informatique)|((langue)[s]?)#i', $buffer, $out) == 0) ) {
				
				if(feof($handle)) break;
				
				$buffer = fgets($handle, 4096);
				$buffer = preg_replace(array('#[|]#s','#^-#','#^—#','#^[(]#','#^[ ]#'), '', trim($buffer));
				$buffer = preg_replace('#([ ][ ]+)#s', ' ', trim($buffer));
				$buffer = accent($buffer);
								
				if(preg_match('#(([0-2][0-9]|[3][0-1]|[0-9])[-—/])?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—/a]?([1-2]([9]|[0])[0-9]{2})#ixm', $buffer, $out) !==0 && $d<=2) {
					$testForm=true;
					$d++;
					$fdeb = preg_replace('#[/aà— ]#', '-', trim($out[0]));
					$buffer = str_replace($out[0], '', trim($buffer));
										
					if(preg_match('#([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?[1-2]([9]|[0])[0-9]{2}#ixm', $buffer, $out) !==0 ) {
						$ffin = preg_replace('#(a|à)#', '', trim($out[0]));
						$ffin = preg_replace('#[/aà—]#', '-', trim($out[0]));
						$buffer = preg_replace('#^[ ](a|à)[ ]#', '', $buffer);
						$buffer = str_replace(trim($out[0]), '', trim($buffer));
						}else{
							if(isset($out[0])) $buffer = str_replace($out[0], '', trim($buffer));
						}
							
					if(isset($ffin)) $ffin=preg_replace('#^[-—.a:]#', '', $ffin);
						$form[$d][1]=$fdeb;
						
						if(isset($ffin)) $form[$d][2]=$ffin;
						
						$fdeb="";
						unset($ffin);
							while(preg_match('#([0-2][0-9]|[3][0-1]|[0-9])?[-—/ ]?([0][1-9]|[1][0-2])?([[:alpha:]]+)?[-—aà/ ]?([1-2]([9]|[0])[0-9]{2})#ixm', $buffer, $out) == 0 && $k<=2 && $l===false ) {
								if(preg_match('#([A-Z][.]?[[:alpha:]\']+[.]?[ ]?[:]?[ ]?[[:alpha:]\']+[.]?[ ]?)+#i', $buffer, $out) !==0) {
									$dipl[$k] = $out[0];
									$buffer = str_replace($out[0], '', trim($buffer));
									$k++;
								}
								if(preg_match('#[A-Z]([[:alpha:]]*[.\']?[ ]?[:]?[ ]?[[:alpha:]]+[.\']?[ ]?)+#', $buffer, $out) !==0) {
									$etab[$k] = $out[0];
									$buffer = str_replace($out[0], '', trim($buffer));
									$l=true;
									}else break;
							}
						$l=false;
				}
		}
		if(isset($dipl)) {
		echo"<br>diplomes : ";
		print_r($dipl);
		}else echo "<br>no diplomes found<br>";
		
		if(isset($etab)) {
		echo"<br>Etablissements : ";
		print_r($etab);
		}else echo "<br>no etablissement found<br>";
				
		if(isset($form)) {
		echo"<br>dates : ";
		print_r($form);
		}else echo "<br>no dates diplomes found<br>";
		}
		
		if(preg_match('#anglais|allemand|italien|espagnol|portugais|arabe|chinois#i', $buffer, $out)) { 
			$f++;
			$langue[$f]=$buffer;
			}
		
		if(preg_match('#([D](ivers|IVERS))\b#', $buffer, $out)) {
			while(preg_match('#.+#', $buffer, $out)==true){
				if(feof($handle)) break;
				$divers.="$buffer<br>";
				$buffer = fgets($handle, 4096);
			}
		}
	}
	if(isset($langue)){
		echo"langues : ";
		print_r($langue);
		echo"<br>";
	}
	
	if(isset($divers)) echo "<br>$divers";
	
	fclose($handle);
}

?>
<html>
<head><title>Formulaire CV
</title></head>

<body>
<br>

<form method="POST" action="test.php" name="formulaire" enctype="multipart/form-data"> 
<br>

<div class="block">
<h2><span>Envoyez votre CV</span></h2>
	<div class="box">
		<table>
		<tr><td>
<input type="file" name="fichier"> <br>
<input type="submit" name="valider"> <br>
		<tr><td>
		</table>
	</div>
</div>
</form>
</body></html>

 Conclusion

J'ai galere avec l'age et l'adresse mais c'est regle, ce sont les experiences et la formation qui ont ete les plus dures =)
Pour ceux que ca interesse le logiciel gratuit "antiword" pour la conversion de document word est porte sous windows, comme vous pouvez le voir il fonctionne en ligne de commande donc parfait a utiliser dans une page php.
Toute remarque sur la structure et la proprete du code est egalement bienvenue, plus particulierement la securite dans laquelle je n'y connais rien. Juste je vais mettre en place un systeme pour ne pas accepter des fichiers trop volumineux.
Voila j'espere en aider certains et recevoir des conseils.
++


 Historique

04 mai 2007 13:40:15 :
C'est mon premier post j'ai pas fait attention a tout desole. D'autres modifs a effectuer ?
04 mai 2007 13:46:37 :
Identation
04 mai 2007 15:12:21 :
Ajout de code
04 mai 2007 15:49:15 :
Amelioration regexp date
15 mai 2007 17:59:09 :
Beaucoup d'amelioration et encore d'autres a venir
16 mai 2007 08:48:01 :
Ameliorations genrales, ajout du reperage des experiences, formations, langues, divers.

 Sources de la même categorie

Source avec Zip GÉNÉRER UN MOT DE PASS ALÉATOIRE par narkos2
UNICODE TO HTML ENTITIES par CrazyShooter
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack
FONCTION QUI GÉNÈRE UN CODE GRÂCE À L'ORTOGRAPHE ET LA PRONO... par foofymany
Source avec Zip TRADUCTION DE FICHIERS DE LANGUE AVEC GOOGLE GTRANSLATE par madislak

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MODULES DE TEST D'EXPRESSIONS RÉGULIÈRES À INTÉGRER DANS UNE... par CrocoRICo
Source avec Zip Source avec une capture FORMULAIRE (NEWS, LIVRE D'OR, ...) par coockiesch
Source avec Zip REGEXP POUR VÉRIFIER LA VALIDITÉ D'UNE ADRESSE MAIL SUIVANT ... par janhsh
AFFICHER DES INFORMATIONS CONCERNANT LE VISITEUR par spidermario
RECHERCHE PAR MOTS CLEFS - DÉCOUPAGE D'UNE PHRASE EN MOTS - ... par J_G

Commentaires et avis

Commentaire de kankrelune le 04/05/2007 12:34:15

Si tu pouvais mettre le code dans le champ prévu à cet effet et non dans la description du code... et profites en pour indenter ton code... merci... .. .

@ tchaOo°

Commentaire de kankrelune le 04/05/2007 12:35:49

Ah au fait... initié ne se justifie pas pour le niveau de cette source tu ne fais qu'utiliser des expressions régulières... c'est niveau débutant... .. .

@ tchaOo°

Commentaire de kiki2sirom le 04/05/2007 14:24:24

@Kankrelune
ok alors dsl pour le dernier post mais je ne suis pas tout à fait d'accord avec toi : je n'y connais rien aux regexp (en fait je ne les utilise jamais, mais je devrais sûrement dans certains cas), et pour m'y mettre je ne pense pas que j'essaierai avec ce code.
je pense qu'il faut être "initié" aux regexp un minimum pour pouvoir le commenter

m'enfin c'est mon avis !!! après ce que j'en dis .... ;-)
kiki

Commentaire de braxivamov le 04/05/2007 14:44:30

Je suis egalement d'accord avec toi, certaines pcre utilisees ici ne sont - a mon humble avis - pas realisablent par un debutant. Mais en  tant que nouveau sur le site je me rallie a l'avis d'un "ancien".
A part ca si vous pouviez me faire des suggestions qui me ferait avancer dans l'amelioration de mon code (structure, construction des regexp, proprete (surtout le passage $j=3 du code postal) )  ce serait top ^^

Commentaire de kankrelune le 04/05/2007 17:18:32

@ KIKI2sirom... tu le dis toi même tu ne connais pas les regexp parce que tu ne les utilise pas... après effectivement j'ai peut être été vite à juger... la source peut valoir le niveau d'initié... bref... je n'ai pas le temps de regarder en détail mais une chose me fait bondir... il n'y a aucun contrôle du type de fichier uploadé qui plus est lors de la gestion des erreurs tu ne fais qu'afficher l'erreur tu ne shunte pas le reste du code ni n'arrête l'exécution du script ce qui peut être problématique voir dangereux... pareil au niveau de ton utilisation de exec(), je ne connais pas énormément l'exécution de commande via php mais une chose est sûr si tu ne fais aucun traitement sur le nom du fichier avant de l'inclure dans ta commande tu risque de tomber sur un petit malin qui fera exécuter à ton serveur des commandes arbitraires... .. .

un peu de lecture...

http://fr2.php.net/manual/fr/function.escapeshellarg.php
http://fr2.php.net/manual/fr/function.escapeshellcmd.php

Sinon coté syntaxe du peu que j'ai vu il serait bien d'utiliser les simples quotes et la concaténation plutôt que les doubles quotes... pour tes boucles for() à partir du moment où ton tableau ou ta chaine n'est pas modifié en cour de boucle fais ton sizeof ou ton count à l'initialisation de ta boucle... pas dans l'instruction de contrôle... et préfère également la préincrémentation pour la dernière instruction... exemple...

for ($i=0,$max=count($monTableau); $i<=$max; ++$i)

Les expressions régulières c'est bien... en abuser ça craint... .. .

$telPort = "#$telPort#s";
$buffer = preg_replace("$telPort", " ", trim($buffer));

==>

$buffer = str_replace($telPort, ' ', trim($buffer));

-------------

$buffer = preg_replace('#([[:space:]][[:space:]]+)#s', ' ', trim($buffer));
$buffer = preg_replace('#[|]#s', ' ', trim($buffer));

==>

$buffer = preg_replace(
                      array(
                          '#([[:space:]][[:space:]]+)#s',
                          '#[|]#s'
                      ),
                      ' ',
                      trim($buffer)
          );

---------------------

$taille = sizeof($res);
$testN=true;
switch ($taille) {

tu ne réutilise $taille nul part en dehors du switch... inutile d'encombrer la mémoire serveur pour rien...

$testN=true;
switch (sizeof($res)) {

d'ailleurs utilise plutôt les fonctions originale plutôt que leur alias... tu y gagne en rapidité et tu est plus sur de la compatibilité de ton code vis a vis des futures versions de php... donc...

$testN=true;
switch (count($res)) {

utilise des comparaisons typées... tu y gagne en perf et tu est sur du contenu de ta variable...

while (!feof($handle))

===>

while (feof($handle) === false)

-----

if($handle = fopen("temp.txt", "rb")) {

==>

if(false !== ($handle = fopen('temp.txt', 'rb'))) {

---

if(preg_match('#...#',$buffer,$out) && $testC == false) {

==>

if(preg_match('#...#',$buffer,$out) !== 0 && $testC === false) {

Voili voilou dans un premier temps... .. .

@ tchaOo°

Commentaire de DiGhan le 05/05/2007 23:48:19

Hello,

pour l'adresse mail, il est préférable de tester si le 1er caractère est bien un caractère alphanum.
Si cette vérification n'est pas faite, ton masque matchera les adresses de ce type:_____@------.com.

Dans le masque suivant, il n'y a que les adresses classiques qui sont acceptés.

'#[a-z0-9]([-_.]?[a-z0-9])+@[a-z0-9]([-_.]?[a-z0-9])+\.[a-z]{3,5}#i'

Bonne chance.

Commentaire de braxivamov le 09/05/2007 08:43:36

Merci a vous deux vos conseils vont m'être très utiles. Juste une petite note je suis dans le dev de cette page donc pour les erreurs par exemple je fais des affichages et je n'arrete pas le code pour mieux voir ce qui se passe mais ce genre de choses comme la verification du nom de fichier je les fait apres ( c'est surement un defaut j'avoue ), comme j'ajouterais un controle sur la taille du fichier etc ...

Commentaire de braxivamov le 16/05/2007 08:50:20

Je suis desole avec l'indentation et la largeur du cadre le code est relativement lourd a lire ...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problèmes formulaire [ par JTR ] Bien le bonjour tous :)Alors je veux faire un formulaire de modification d'informations. ( Nom, prénom, adresse ...)Les informations sont dans une bas récupération d'informations contenu dans une page web [ par malice120 ] Est t'il possible de récupérer des informations contenu dans une page web dans une base de donnée?bonne annee 2003 a tous Besoin de conseils [ par Spoutnik ] Salut,Je suis étudiant et je voudrais savoir ou avoir des informations sur les differents systemes de bases de donnees, que ce soit en environnement l serveur d'informations et d'actualités [ par hackoo ] Salut, je cherche un script complet pour la création d'un seveur d'informations et d'actualités dans lequel le lecteur peut devenir acteur ,avec la po Fichier attaché [ par moussaiba ] J'ai un problème avec un fichier attaché.je vous explique le problème:j'ai deux pages, page1.php et page2.php.Sur page1.php je saisie des informations Ouverture de fichiers distants impossible [ par BSide ] Bonjour,je rencontre un pbl que g du mal à dépatouiller.Voici le topo :- mon appli (un intranet) se trouve sur un serveur A. Elle permet entre autre d problème avec les session [ par meridius ] Hello,Voilà, j'ai un problème avec ma session... la création se déroule bien, mais quand je navigue dans ma session page par page et que soudainement Transfert d'informations d'une page à l'autre. [ par BRAUKRIS ] KrisTout d'abord merci à ceux qui prendront le temps de lire mon message.J'ai besoin pour mon application d'ouvrir une nouvelle fenêtre, indépendammen Problème de transmission d'informations [ par dodlintrepide ] Bonjour,j'ai une page sur laquelle se trouve un formulaire avec plusieurs liste déroulante. Ces listes déroulantes sont renseignées via des tables sto renvoie des valeurs d'un formulaire... [ par jojomillenium ] Salut!!!J'aimerai savoir si il est possible d'eviter ceci lorsque qu'on essait de revenir en arriere sur une page :"Avertissement : expiration du déla


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales