CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[php] Stocker image BD

t_ki_toi
t_ki_toi
Niveau 15
27 juin 2012 à 09:40:53

Bonjour le monde voila , j'ai creé un code en local où je peut upload une image dans mon pc mais depuis que j'ai hebergé ca ne fonctionnent plus ( normal ^^) cette fois si j'ai essayé de le mettre dans la base de donné de mon site mais le pb je ne sais pas comment y arriver. J'ai besoin de votre aide les humains merci. Et voici le code en question et merci encore ^^

"<?php

$link = mysql_connect('mysql2.alwaysdata.com','mon_nom_db'
,'mot_passe');

if(!$link) die("erreur de connexion a la base de donnee".mysql_error());
mysql_select_db('lamultiprise_life');
session_start();

if (!empty($_FILES['fichier_upload']['name'])) {
// on récupère les infos du fichier à uploader
$fichier_temp = $_FILES['fichier_upload']['tmp_name'];
$fichier_nom = $_FILES['fichier_upload']['name'];

// on défini les dimensions et le type du fichier
list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr) = getimagesize($fichier_temp);

// infos de contrôle du fichier
$fichier_poids_max = 500000;
$fichier_h_max = 2448;
$fichier_l_max = 3264;

// dossier de destination
$fichier_dossier = 'http://lamultiprise.alwaysdata.net/sport/';

// extension du fichier
$fichier_ext = substr($fichier_nom, strrpos($fichier_nom, '.') + 1);

// on renomme le fichier
$fichier_date = date("ymdhis");
$fichier_n_nom = $fichier_date . "." . $fichier_ext;

// on vérifie s'il y a bien un fichier à uploader
if (!empty($fichier_temp) && is_uploaded_file($fichier_temp)) {
// on vérifie le poids du fichier
if (filesize($fichier_temp) < $fichier_poids_max) {
// types de fichiers autorises 1=gif / 2=jpg / 3=png
if (($fichier_type === 1) || ($fichier_type === 2) || ($fichier_type === 3)) {
// on vérifie si l'image n'est pas trop grande
if (($fichier_larg <= $fichier_l_max) && ($fichier_haut <= $fichier_h_max)) {
// si le fichier est ok, on l'upload sur le serveur
if (move_uploaded_file($fichier_temp, $fichier_dossier . $fichier_n_nom)) {
$_SESSION['url'] = $fichier_dossier.$fichier_n_nom;
echo $_SESSION['url'];
}else
echo "Le fichier n'a pas pu être uploadé<br />";
}
else
echo "Le fichier est trop grand<br />";
}
else
echo "Le fichier n'a pas le bon format<br />";
}
else
echo "Le fichier est trop lourd<br />";
}
else
echo "Pas de fichier à uploader<br />";
}
?>
"

Et les erreurs qui s'affichent sont "
Warning: move_uploaded_file(http://lamultiprise.alwaysdata.net/sport/120626093736.png) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in /home/lamultiprise/www/sport/upload.php on line 40

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpaqL8YF' to 'http://lamultiprise.alwaysdata.net/sport/120626093736.png' in /home/lamultiprise/www/sport/upload.php on line 40
Le fichier n'a pas pu être uploadé "

Merci

t_ki_toi
t_ki_toi
Niveau 15
28 juin 2012 à 09:41:12

up

dogibag
dogibag
Niveau 7
28 juin 2012 à 10:26:42

Up inutile.

Pour ton dossier, fait juste un truc du genre : $dossier = 'dossier/';

Et pour enregistrer l'image dans la BDD, il faut que ce soit après l'upload tu fasse un lien de l'image et que tu enregistre ce lien...

t_ki_toi
t_ki_toi
Niveau 15
29 juin 2012 à 10:22:25

Je ne peut pas l'enregistrer directement dans la BDD et l'afficher ?

bob63
bob63
Niveau 11
29 juin 2012 à 16:52:32

Pourquoi tu veux la stocker dans la base de données ? Alors que c'est beaucoup plus simple dans un dossier bien distinct.

Sinon il me semble que j'avais vu une doc sur comment le faire dans la BDD, mais c'était pas forcément simple, et surtout inutile.

dogibag
dogibag
Niveau 7
29 juin 2012 à 19:37:17

Oui c'est inutile et je pense que personne fait cela...

polo7532
polo7532
Niveau 1
29 juin 2012 à 20:17:28

Au contraire, je suis actuellement en stage dans une web agency du sud de la France (Square Partners http://www.squarepartners.com/), conception, intégration web, entièrement objet, les images sont stockées dans la bdd, pourquoi ?

Une meilleure gestion des images notamment pour les logiciels de back-office : gestion des stocks avec logiciels externes pour éviter que le client trifouille de lui même la bdd... et même au niveau du code, cela est toujours mieux de travailler avec une bdd (notamment en php objet) qu'avec des chemins relatifs et des dossiers, parfois un simple hébergement peut casser tous les liens...

Un ftp allégé (si une bdd a été correctement conçue [Merise/UML], des milliers d'images [e-commerce] ne se feront que très peu remarquées dans la bdd contrairement au ftp... même bdd qui ne sera pas pour autant surchargée [si là encore les méthodes de conceptions ont été bien appliquées]...)

etc etc... je sais que ça n'a surement pas vraiment de rapport avec ce que tu cherches à faire, surtout concernant UML/Merise, mais il est toujours bon de partager nos connaissances à d'autres...

bob63
bob63
Niveau 11
29 juin 2012 à 20:24:02

polo7532 > Dans ma société, on a des serveurs qui tournent avec des BDD de plusieurs giga voir tera octets de données. On sauvegardes ces teras tous les jours ... Et toi tu me dis que vous sauvegardez en plus des images? C'est complet inutile, surtout si ces images pèsent plusieurs mégas ...

A toi de bien configurer ton fichier de CONFIG PHP avec tous les chemins qui faut, et de bloquer l'accès à ce fichier pour n'importe qui (en dehors de l'admin). Je n'ai jamais vu d'appli professionnelle avec des images stockées en BDD. Peut-être que je manque d'expérience sur le sujet, mais je ne pourrais jamais le conseiller.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment