Pourquoi effectuer une extraction du chemin
mamou
-
Skeletyon Messages postés 1622 Date d'inscription Statut Membre Dernière intervention -
Skeletyon Messages postés 1622 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
lors de l'ajout d'un enregistrement à une base de donnée, on lui donne le chemin absolu et on extrait le chemin relatif. en indiquant que mon exercice utilise le code php.
je voulais connaitre pourquoi on effectue cette extraction??
merci d'avance
lors de l'ajout d'un enregistrement à une base de donnée, on lui donne le chemin absolu et on extrait le chemin relatif. en indiquant que mon exercice utilise le code php.
je voulais connaitre pourquoi on effectue cette extraction??
merci d'avance
A voir également:
- Pourquoi effectuer une extraction du chemin
- Vous devez disposer d'une autorisation pour effectuer cette action - Guide
- Discord aucun chemin de connexion - Forum Discord
- Aucun chemin de connexion discord - Forum Discord
- Chaque fichier en ligne sur le web a un chemin d’accès sur un serveur. c’est le cas du fichier du logo présent sur la page de cette ville. quel est le chemin de ce fichier à partir de la racine du site ? ✓ - Forum Windows
- Steam doit être en ligne pour effectuer la mise à jour - Forum Jeux PC
5 réponses
Je ne comprend pas trop ta question...
Que souhaite-tu savoir et dans quelle organisation?
Affichage d'image à partir d'une BDD? Stockage de liens externes?
Dis-nous en plus, c'est trop vague :=)
Que souhaite-tu savoir et dans quelle organisation?
Affichage d'image à partir d'une BDD? Stockage de liens externes?
Dis-nous en plus, c'est trop vague :=)
j'ai un exercice qui dispose d'un stockage dans la BD d'une table image contenant une ligne nommé source et dans la 2éme colonne le chemin absolu du fichier qu'on voulait ajouter et a coté de ce tableau on a une zone de texte cachée qui va afficher le chemin relatif de ce fichier à ajouter
j'ai pas compris l'utilité de cette zone.
le code est le suivant:
<script language="JavaScript" type="text/JavaScript">
function tester(s,d,b,i)
{ if (s.value =='') {
alert('saisie incorrecte'); s.focus();}
else if (d.value =='') {alert('saisie incorrecte'); d.focus();}
else
{
var ch=s.value;
var sch="\\";
var pos=ch.lastIndexOf(sch);
var fin = ch.length;
var ch1 = ch.substring(pos+1,fin);
i.value ="../images/" + ch1;
b.disabled=false;
}
}
</script>
<body>
<form action="ajout.php" method="post" name="form1">
<table width="70%" border="1" align="center" bgcolor="#FFFFCC">
<tr>
<td>Code</td>
<td><p> <strong>Le code sera ajouté d'une manière
automatique.</strong></p></td>
</tr>
<tr>
<td>Source</td>
<td><input name="fichier" type="file" size="60">
<input type="hidden" name="nomFichier"></td>
</tr>
<tr>
<td>Description</td>
<td><input name="txtDescription" type="text" id="txtDescription"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="test" type="button" id="test" value="Tester"
onClick="tester(fichier,txtDescription,Envoyer,nomFichier)">
<input name="Envoyer" type="submit" id="Envoyer" value="Envoyer" disabled="true" >
<input name="Effacer" type="reset" id="Effacer" value="Rétablir">
</div></td>
</tr>
</table> </form> </body>
Ajout.php
<?php
$dbhost = "localhost";
$user = "root";
$password = "";
$usebdd = "images";
$connexion = mysql_connect("$dbhost","$user","$password");
if (!$connexion)
{
echo "Impossible d'effectuer la connexion";
exit;
}
else {
echo "Connexion Effectueé <br>";
if( mysql_select_db( $usebdd ) == True )
echo "Sélection de la base réussie.<br>" ;
else
die("Echec de connexion à la base. <br>");
}
$nomFichier=$_POST['nomFichier'];
$Description=$_POST['txtDescription'];
echo "<strong>Ajout d'un enregistrement à la table images </strong><br>";
mysql_query("INSERT INTO image VALUES ('', '$nomFichier','$Description')");
echo "<strong>Enregistrement ajouté!</strong><br>" ;
echo "Votre numéro d'identifiant est : " .mysql_insert_id() . "<br>";
$requete = "SELECT * FROM image" ;
$result = mysql_query($requete);
if (!$result)
{
die('Requête invalide : ' . mysql_error());
}
else
{
echo "Maintenant il y a " .mysql_num_rows($result) ." image(s)<br>";
echo "<table border=1>"; echo "<tr>"; echo "<th>Code</th> ";
echo "<th>Image</th> "; echo "<th>Description</th> "; echo "</tr>";
while($enregistrement = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td> $enregistrement[0] </td> ";
echo "<td align=center> <img src=$enregistrement[1]> </td> ";
echo "<td> $enregistrement[2] </td> "; echo "</tr>";
}
echo "</table>";
}
mysql_close();
?>
j'ai pas compris l'utilité de cette zone.
le code est le suivant:
<script language="JavaScript" type="text/JavaScript">
function tester(s,d,b,i)
{ if (s.value =='') {
alert('saisie incorrecte'); s.focus();}
else if (d.value =='') {alert('saisie incorrecte'); d.focus();}
else
{
var ch=s.value;
var sch="\\";
var pos=ch.lastIndexOf(sch);
var fin = ch.length;
var ch1 = ch.substring(pos+1,fin);
i.value ="../images/" + ch1;
b.disabled=false;
}
}
</script>
<body>
<form action="ajout.php" method="post" name="form1">
<table width="70%" border="1" align="center" bgcolor="#FFFFCC">
<tr>
<td>Code</td>
<td><p> <strong>Le code sera ajouté d'une manière
automatique.</strong></p></td>
</tr>
<tr>
<td>Source</td>
<td><input name="fichier" type="file" size="60">
<input type="hidden" name="nomFichier"></td>
</tr>
<tr>
<td>Description</td>
<td><input name="txtDescription" type="text" id="txtDescription"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="test" type="button" id="test" value="Tester"
onClick="tester(fichier,txtDescription,Envoyer,nomFichier)">
<input name="Envoyer" type="submit" id="Envoyer" value="Envoyer" disabled="true" >
<input name="Effacer" type="reset" id="Effacer" value="Rétablir">
</div></td>
</tr>
</table> </form> </body>
Ajout.php
<?php
$dbhost = "localhost";
$user = "root";
$password = "";
$usebdd = "images";
$connexion = mysql_connect("$dbhost","$user","$password");
if (!$connexion)
{
echo "Impossible d'effectuer la connexion";
exit;
}
else {
echo "Connexion Effectueé <br>";
if( mysql_select_db( $usebdd ) == True )
echo "Sélection de la base réussie.<br>" ;
else
die("Echec de connexion à la base. <br>");
}
$nomFichier=$_POST['nomFichier'];
$Description=$_POST['txtDescription'];
echo "<strong>Ajout d'un enregistrement à la table images </strong><br>";
mysql_query("INSERT INTO image VALUES ('', '$nomFichier','$Description')");
echo "<strong>Enregistrement ajouté!</strong><br>" ;
echo "Votre numéro d'identifiant est : " .mysql_insert_id() . "<br>";
$requete = "SELECT * FROM image" ;
$result = mysql_query($requete);
if (!$result)
{
die('Requête invalide : ' . mysql_error());
}
else
{
echo "Maintenant il y a " .mysql_num_rows($result) ." image(s)<br>";
echo "<table border=1>"; echo "<tr>"; echo "<th>Code</th> ";
echo "<th>Image</th> "; echo "<th>Description</th> "; echo "</tr>";
while($enregistrement = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td> $enregistrement[0] </td> ";
echo "<td align=center> <img src=$enregistrement[1]> </td> ";
echo "<td> $enregistrement[2] </td> "; echo "</tr>";
}
echo "</table>";
}
mysql_close();
?>
Je ne comprend toujours pas ce que tu veux.
Ton code affiche normalement les infos de la table
Je ne pense pas que ça va répondre à ta question mais le chemin absolu de ton image, qui est stocké dans ta bdd, est ce que tu devrais taper dans ton poste de travail pour l'ouvrir.
Ex: C:\images
Lorsque tu fais un
L'adresse relative c'est aussi celle qui est contenue dans $enreistrement[1] mais qui change a chaque passage de ta boucle.
Le chemin d'une image fixe est absolu, l'affichage du lien d'une image est relatif (à ce qui est dans la ligne de ta base de données).
2 images: 1 et 2, qui sont dans c:\images
Le chemin absolu de 1 est : C:\images\1.png
Le chemin absolu de 2 est : C:\images\2.png
$enregistrement[1] va afficher, en fonction de la ligne sur laquelle il se situe, soit C:\images\1.png soit C:\images\1.png. C'est donc "relatif".
Pour ce qui est de ton tableau, je ne comprend pas ce que tu souhaite savoir.
En espérant que ça t'aide
Ton code affiche normalement les infos de la table
echo "<td> $enregistrement[0] </td> "; echo "<td align=center> <img src=$enregistrement[1]> </td> "; echo "<td> $enregistrement[2] </td> "; echo "</tr>";
Je ne pense pas que ça va répondre à ta question mais le chemin absolu de ton image, qui est stocké dans ta bdd, est ce que tu devrais taper dans ton poste de travail pour l'ouvrir.
Ex: C:\images
Lorsque tu fais un
echo "<td align=center> <img src=$enregistrement[1]> </td> ";cela va t'afficher l'images qui est à l'adresse contenue dans $enregistrement[1]...
L'adresse relative c'est aussi celle qui est contenue dans $enreistrement[1] mais qui change a chaque passage de ta boucle.
Le chemin d'une image fixe est absolu, l'affichage du lien d'une image est relatif (à ce qui est dans la ligne de ta base de données).
2 images: 1 et 2, qui sont dans c:\images
Le chemin absolu de 1 est : C:\images\1.png
Le chemin absolu de 2 est : C:\images\2.png
$enregistrement[1] va afficher, en fonction de la ligne sur laquelle il se situe, soit C:\images\1.png soit C:\images\1.png. C'est donc "relatif".
Pour ce qui est de ton tableau, je ne comprend pas ce que tu souhaite savoir.
En espérant que ça t'aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
On a besoin du relatif car par définition c'est relatif à quelque chose.
Ici à la ligne que tu souhaites afficher.
En fonction de si tu préfère.
Chaque url qui sera affichée sera le chemin absolu de l'image, mais qui aura été affiché de façon relative à ta requête.
J'espère que c'est un peu plus clair.
Ici à la ligne que tu souhaites afficher.
En fonction de si tu préfère.
Chaque url qui sera affichée sera le chemin absolu de l'image, mais qui aura été affiché de façon relative à ta requête.
J'espère que c'est un peu plus clair.