Move_uploaded_file
Fermé
bob6173
Messages postés
4
Date d'inscription
dimanche 28 avril 2019
Statut
Membre
Dernière intervention
29 avril 2019
-
28 avril 2019 à 21:23
bob6173 Messages postés 4 Date d'inscription dimanche 28 avril 2019 Statut Membre Dernière intervention 29 avril 2019 - 29 avril 2019 à 19:23
bob6173 Messages postés 4 Date d'inscription dimanche 28 avril 2019 Statut Membre Dernière intervention 29 avril 2019 - 29 avril 2019 à 19:23
A voir également:
- Move_uploaded_file permission denied
- Move_uploaded_file failed to open stream - Forum PHP
4 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
28 avril 2019 à 22:11
28 avril 2019 à 22:11
Bonjour,
Sans voir ton code.... impossible de te répondre !
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Sans voir ton code.... impossible de te répondre !
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
bob6173
Messages postés
4
Date d'inscription
dimanche 28 avril 2019
Statut
Membre
Dernière intervention
29 avril 2019
29 avril 2019 à 11:53
29 avril 2019 à 11:53
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
29 avril 2019 à 12:08
29 avril 2019 à 12:08
Tu ne sais pas lire ?
Je t'ai demandé de poster ton code en utilisant les BALISES DE CODE.
Les images.... on ne peut rien en faire.... pas de copier/coller.....
Donc merci de : poster ton code correctement en utilisant la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Je t'ai demandé de poster ton code en utilisant les BALISES DE CODE.
Les images.... on ne peut rien en faire.... pas de copier/coller.....
Donc merci de : poster ton code correctement en utilisant la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
bob6173
Messages postés
4
Date d'inscription
dimanche 28 avril 2019
Statut
Membre
Dernière intervention
29 avril 2019
29 avril 2019 à 13:04
29 avril 2019 à 13:04
<?php
//ouverture de la bdd et recuperation des donneés formulaire
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$nom = ($_POST['nom']);
$prenom =($_POST['prenom']);
$adresse =($_POST['adresse']);
$telephone =($_POST['telephone']);
$description=($_POST['description']);
$monfichier =($_FILES['monfichier']);
//recuperation id de la bdd le plus grand +1
$reponse = $bdd->query('SELECT id FROM repertoir ORDER BY id DESC');
$donnees = $reponse->fetch();
$chiffre = strval($donnees[0]+1);
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error']== 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg','jpeg','gif','png');
// ici on traite la decoupe du nom du fichier
$split =explode(".", ($_FILES['monfichier']['name']));
$ext = strtolower($split[1]);
$nom_ph ="ph".''.$chiffre.'.'.$ext;
$lieu = 'photos/photo/';
$photo ='../photos/photo/ph'.''.$chiffre.'.'.$ext;
if (in_array($extension_upload,$extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'],"$lieu $nom_ph");
echo "L'envoi a bien été effectué !";
}
else
{
echo"l'extention n'est pas valide";
}
}
else
{
echo"fichier trop gros ";
}
}
else
{
$photo="vide";
echo"le fichier est sauvegarde sans photo";
}
// ici on prepare la requette et on l'envoie
$req = $bdd->prepare("INSERT INTO repertoir(nom, prenom,adresse,telephone,description,photo)
VALUES(:nom,:prenom,:adresse,:telephone,:description,:photo)");
$req->execute(array('nom'=>$nom,
'prenom'=>$prenom,
'adresse'=>$adresse,
'telephone'=>$telephone,
'description'=>$description,
'photo'=>$photo ));
?>
voila excuse moi je suis nouveau j’espère que sa vas comme sa s'il faut faire autre chose ?
//ouverture de la bdd et recuperation des donneés formulaire
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$nom = ($_POST['nom']);
$prenom =($_POST['prenom']);
$adresse =($_POST['adresse']);
$telephone =($_POST['telephone']);
$description=($_POST['description']);
$monfichier =($_FILES['monfichier']);
//recuperation id de la bdd le plus grand +1
$reponse = $bdd->query('SELECT id FROM repertoir ORDER BY id DESC');
$donnees = $reponse->fetch();
$chiffre = strval($donnees[0]+1);
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error']== 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg','jpeg','gif','png');
// ici on traite la decoupe du nom du fichier
$split =explode(".", ($_FILES['monfichier']['name']));
$ext = strtolower($split[1]);
$nom_ph ="ph".''.$chiffre.'.'.$ext;
$lieu = 'photos/photo/';
$photo ='../photos/photo/ph'.''.$chiffre.'.'.$ext;
if (in_array($extension_upload,$extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'],"$lieu $nom_ph");
echo "L'envoi a bien été effectué !";
}
else
{
echo"l'extention n'est pas valide";
}
}
else
{
echo"fichier trop gros ";
}
}
else
{
$photo="vide";
echo"le fichier est sauvegarde sans photo";
}
// ici on prepare la requette et on l'envoie
$req = $bdd->prepare("INSERT INTO repertoir(nom, prenom,adresse,telephone,description,photo)
VALUES(:nom,:prenom,:adresse,:telephone,:description,:photo)");
$req->execute(array('nom'=>$nom,
'prenom'=>$prenom,
'adresse'=>$adresse,
'telephone'=>$telephone,
'description'=>$description,
'photo'=>$photo ));
?>
voila excuse moi je suis nouveau j’espère que sa vas comme sa s'il faut faire autre chose ?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
29 avril 2019 à 13:27
29 avril 2019 à 13:27
Utiliser les balises de code.........
As tu, au moins, ouvert le lien que je t'ai donné ?
As tu, au moins, ouvert le lien que je t'ai donné ?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
29 avril 2019 à 14:22
29 avril 2019 à 14:22
Bon,
Voici déjà quelques corrections apportées à ton code.
Essaye de t'en inspirer pour tes prochains codes
Je t'invite à lire et à appliquer le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Si malgré cela tes soucis persistent, il faudra également nous montrer le code qui te sert à afficher tes images....
Pense également à vidé le cache de ton navigateur (si le souci n'est qu'un problème d'affichage d'image... )
.
Voici déjà quelques corrections apportées à ton code.
Essaye de t'en inspirer pour tes prochains codes
<?php //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd try{ $bdd =new PDO('mysql:host=localhost;dbname=test; charset=utf8', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } //récupération PROPRE des variables // avant de les utiliser $nom = !empty($_POST['nom']) ? $_POST['nom'] : NULL; $prenom = !empty($_POST['prenom']) ? $_POST['prenom'] : NULL $adresse = !empty($_POST['adresse']) ? $_POST['adresse'] : NULL $telephone = !empty($_POST['telephone']) ? $_POST['telephone'] : NULL $description = !empty($_POST['description']) ? $_POST['description'] : NULL $monfichier = !empty($_FILES['monfichier']) ? $_FILES['monfichier'] : NULL //recuperation id de la bdd le plus grand +1 $sql = 'SELECT max(id) FROM repertoir '; //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute() ; $donnees = $reponse->fetch(); $chiffre = strval($donnees[0]+1); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); } // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if ($monfichier && $monfichier['error']== 0) { $fileName = $monfichier['name']; // Testons si le fichier n'est pas trop gros if ($monfichier['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($fileName); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg','jpeg','gif','png'); // ici on traite la decoupe du nom du fichier $split = explode(".", ($fileName)); $ext = strtolower($split[1]); $nom_ph ="ph".''.$chiffre.'.'.$ext; $lieu = 'photos/photo/'; $photo =$lieu . $nom_ph; if (in_array($extension_upload,$extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement if(move_uploaded_file($_FILES['monfichier']['tmp_name'],"$lieu $nom_ph")){ echo "L'envoi a bien été effectué !"; }else{ echo "Erreur lors de l'upload du fichier"; exit(); } } else { echo"l'extention n'est pas valide"; } } else { echo"fichier trop gros "; } } else { $photo="vide"; echo"le fichier est sauvegarde sans photo"; } // ici on prepare la requette et on l'envoie $sql = "INSERT INTO repertoir(nom, prenom,adresse,telephone,description,photo) VALUES(:nom,:prenom,:adresse,:telephone,:description,:photo)"; $datas = array(':nom'=>$nom, ':prenom'=>$prenom, ':adresse'=>$adresse, ':telephone'=>$telephone, ':description'=>$description, ':photo'=>$photo ); //Execution de la requete try{ $requete = $bdd->prepare($sql) ; $requete->execute($datas); //id du nouvel enregistrement en bdd : $new_id = $bdd->lastInsertId(); echo "Enregistrement en bdd : ".$new_id; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } ?>
Je t'invite à lire et à appliquer le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Si malgré cela tes soucis persistent, il faudra également nous montrer le code qui te sert à afficher tes images....
Pense également à vidé le cache de ton navigateur (si le souci n'est qu'un problème d'affichage d'image... )
.
bob6173
Messages postés
4
Date d'inscription
dimanche 28 avril 2019
Statut
Membre
Dernière intervention
29 avril 2019
29 avril 2019 à 19:23
29 avril 2019 à 19:23
et bien grand merci pour tous ce code je vois que tu est tres douée et que tu connais bien le php ; moi je débute et seul c'est pas simple et j’avoue que je n'ai pas mis beaucoup de contrôle de code alors merci encore et je vais voir si je peut y arriver a+jordane