tu peux passer a php 5je suis chez ovh
http://guide.ovh.com/Php5ChezOvh
voir php 5.3, mais je te conseil de faire ta transition vers php 5.2 d'hab
tu peux passer a php 5je suis chez ovh
function Rename_fich($adresse_fichier)
{
//Si le fichier existe et est un fichier valide
if (is_file($adresse_fichier))
{
// Informations sur le fichier
$info = pathinfo($adresse_fichier);
$extension = $info['extension'];
$filename = basename($adresse_fichier);
$dossier = $info['dirname'];
// Cherche dans le nom de fichier des caractères numériques en fin de nom et si oui incrémente ce nombre grâce à la fonction anonyme create_function
$rename_filename = preg_replace_callback('#([0-9]+$)#', create_function('$matches','return $matches[1]+1;'), $filename);
$filename = $filename != $rename_filename ? $rename_filename : $filename.'1';
// Reconstruction du nom de fichier avec son extension (si elle existe)
$filename = !empty($extension) ? $filename.'.'.$extension : $filename;
// Reconstruction de l'adresse du fichier
$adresse = $dossier.'/'.$filename;
// Appel de la fonction pour re vérification avec le nouveau nom du fichier
return Rename_fich($adresse);
}
// Retourne le chemin complet du fichier
else return $adresse_fichier;
}
ca devrait marcher.
Ben alors t'as fait d'une pierre deux coups, la résolution de ton pb avec en plus la mise à jour de ta version php.cela marche niquel donc j'ai mit a jour la version encore merci :p et le script du départ fonctionne a merveille encore merci a vous
<?php
function Parse($variable,$valeur) {
echo "&" . $variable . "=" . utf8_encode($valeur);
}
if (!empty($_POST) && $_POST['MDP'] == $_POST['MDPBIS']) {
if(($_POST['NOMUTILISATEURS'] != '') && ($_POST['MAILUTILISATEURS'] != ''))
{
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['MAILUTILISATEURS']))
{
// traitement
$categorie=$_POST['categorie'];
$typeannonce=$_POST['typeannonce'];
$souscategorie=$_POST['souscategorie'];
$titreannonce=$_POST['titreannonce'];
$descriptionannonce=$_POST['descriptionannonce'];
$prix=$_POST['prix'];
$departement=$_POST['departement'];
$region=$_POST['region'];
$NOMUTILISATEURS=$_POST['NOMUTILISATEURS'];
$MAILUTILISATEURS=$_POST['MAILUTILISATEURS'];
$MDP=$_POST['MDP'];
$MDPBIS=$_POST['MDPBIS'];
$TELEPHONE=$_POST['TELEPHONE'];
include ('connect.php');
$crypt=md5($MDP);
//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login"
$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";
$req = mysql_query($sql)or die(mysql_error());
// on compte le nombre de résultats
$result = mysql_numrows($req);
// le login existe déjà
if($result!=0)
{
Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
}
else //sinon le login n'existe pas
{
function Rename_fich($adresse_fichier)
{
//Si le fichier existe et est un fichier valide
if (is_file($adresse_fichier))
{
// Informations sur le fichier
$info = pathinfo($adresse_fichier);
$extension = $info['extension'];
$filename = $info['filename'];
$dossier = $info['dirname'];
// Cherche dans le nom de fichier des caractères numériques en fin de nom et si oui incrémente ce nombre grâce à la fonction anonyme create_function
$filename = preg_replace_callback('#([0-9]+$)#', create_function('$matches','return $matches[1]+1;'), $filename, '1', $count);
// Si des caractères numériques sont trouvés et incrémentés (le paramètre $count employé dans preg_replace_callback indique le nombre de remplacements), $filename prend sa nouvelle valeur, sinon l'ancienne concaténée à 1
$filename = !empty($count)? $filename : $filename.'1';
// Reconstruction du nom de fichier avec son extension (si elle existe)
$filename = !empty($extension) ? $filename.'.'.$extension : $filename;
// Reconstruction de l'adresse du fichier
$adresse = $dossier.'/'.$filename;
// Appel de la fonction pour re vérification avec le nouveau nom du fichier
return Rename_fich($adresse);
}
// Retourne le chemin complet du fichier
else return $adresse_fichier;
}
//dossier ou seront stocket les miniature et les images
$dir = getcwd()."/pics";
$dir_mini = getcwd()."/mini";
//taille des miniature
$ratio = 90;
//recuperation du post du formulaire
if (isset($_POST['ok'])) {
// on teste si le champ permettant de soumettre un fichier est vide ou non
if (empty($_FILES['mon_image']['tmp_name'])) {
$erreur = 'Aucun fichier envoyé.';
}
else {
// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier
$tableau = @getimagesize($_FILES['mon_image']['tmp_name']);
if ($tableau == FALSE) {
// si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
unlink($_FILES['mon_image']['tmp_name']);
$erreur = 'Votre fichier n\'est pas une image.';
}
else {
if ($tableau[2] == 2) {
if (is_file('.pics/'.$_FILES['mon_image']['name'])) $file_upload = '_'.$_FILES['mon_image']['name'];
else $file_upload = $_FILES['mon_image']['name'];
// on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille
copy ($_FILES['mon_image']['tmp_name'], $dir.'/'.$file_upload);
if ($tableau[2] == 2) {
// on crée une image à partir de notre grande image à l'aide de la librairie GD
$src = imagecreatefromjpeg($dir.'/'.$file_upload);
$NouvelleLargeur = 120; //Largeur choisie à 350px mais modifiable
$NouvelleHauteur = 100;
$NouvelleLargeurpaysage = 120;
$NouvelleHauteurpaysage = 100;
// on teste si notre image est de type paysage ou portrait
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($im , $src , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $tableau[0],$tableau[1]);
}
else {
$im = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($im , $src , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $tableau[0],$tableau[1]);
}
// on copie notre fichier généré dans le répertoire des miniatures
imagejpeg ($im, $dir_mini.'/'.$file_upload);
}
include ('connect.php');
$sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,MDP,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$crypt','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur
mysql_query ($sql);
$NUMUTILISATEURS=mysql_insert_id();
$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
$req = mysql_query($sql2)or die(mysql_error());
$nom = "/{$_FILES['mon_image']['name']}";
$image = $dir.$nom;
$miniature = $dir_mini.$nom;
$numannonce=mysql_insert_id();
$sql3 = "INSERT INTO images (image,miniature,numannonce) VALUES ('$image','$miniature','$numannonce')";
$req = mysql_query($sql3)or die(mysql_error());
header('Location: ../comptecree.php');
}
else {
// si notre image n'est pas de type jpeg
unlink($_FILES['mon_image']['tmp_name']);
$erreur = 'Votre image est d\'un format non supporté.';
}
}
}
}
}
}
else
{
//controle adresse email carractère
header('Location: ../emailinvalide.php');
}
}
else
{
//controle saisie champs
header('Location: ../champsnonrenseigne.php');
}
}
elseif (!empty($_POST))
{
echo 'Le Mot de passe est different du premier.';
}
?>
Pouvez vous m'aider svp merci d'avance
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
EDIT : echo sprintf('<pre>%s</pre>', print_r($_POST, true));
Code : Tout sélectionner
Array
(
[departement] => 63-Puy-de-Dôme
[NOMutilisateur] => azazz
[MAILutilisateur] => [email protected]
[mps] => a
[mpsbis] => a
[TELEPHONE] =>
[typeanannonce] => donne
[categorie] => vehicules
[souscategorie] => bricolage-jardin-chauffage
[titreannocne] => aaa
[descriptionannonce] => aaa
[prix] => aa
[region] => Auvergne
[ok] => envoyer
)
pour ton histoire de doublon de photo, c'est pas comme ca qui faut si prendre, ta juste a nommer la photo comme le pseudo, et c'est réglépffff le bouletque je suis j'ai bien MDP et MDPBIS toujours le meme probléme l'annonce se poste bien sans probléme l'utilisateur s'enregeristre mais la photo ne change pas de nom si la photo est déja présente
on peu éviter le récursif, si on a plein de fichier il a faire l'opération a chaque fois, on peu dans ce cas utiliser glob, pour allé cherche le fichier et ses incrémentations, on prendre la dernier incrémentation net on fait +1Essayes de remplacer la fonction initiale par celle-ci :
function Rename_fich($adresse_fichier) { //Si le fichier existe et est un fichier valide if (is_file($adresse_fichier)) { // Informations sur le fichier $info = pathinfo($adresse_fichier); $extension = $info['extension']; $filename = basename($adresse_fichier); $dossier = $info['dirname']; // Cherche dans le nom de fichier des caractères numériques en fin de nom et si oui incrémente ce nombre grâce à la fonction anonyme create_function $rename_filename = preg_replace_callback('#([0-9]+$)#', create_function('$matches','return $matches[1]+1;'), $filename); $filename = $filename != $rename_filename ? $rename_filename : $filename.'1'; // Reconstruction du nom de fichier avec son extension (si elle existe) $filename = !empty($extension) ? $filename.'.'.$extension : $filename; // Reconstruction de l'adresse du fichier $adresse = $dossier.'/'.$filename; // Appel de la fonction pour re vérification avec le nouveau nom du fichier return Rename_fich($adresse); } // Retourne le chemin complet du fichier else return $adresse_fichier; }