Move_uploaded_file
bob6173
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
bob6173 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
bob6173 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
bonjour mon problème la fonction ' move_uploaded_file' fonctionne très bien et je peut voir les photos dans un dossier de mon choix je suis meme arriver a les renommer mais quant je passe par une bases-de-donnees pour les voir elle son inaccessible la seul façon pour que cela fonctionne je doit les copier coller dans le meme dossier et la sa marche sinon on dirais quelle son fantôme voila j'ai un formulaire qui les copie dans le dossier les renomme et place leur adresse dans une bdd et un autre formulaire peut les afficher et tout est ok sauf que je suis obliger de les copier coller dans se mémé dossier pour les voir dans le formulaire bien sur après je supprime une des copie si sa vous parle je suis bloquer la
4 réponses
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
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
<?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 ?
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... )
.