Url non reconnue

Résolu
boni91 -  
 Boni91 - 28 nov. 2017 à 07:03
Bonjour a tous, je voudrai permettre a l'utilisateur de pouvoir télécharger le son qu'il ou elle écoute, pour cela j'ai mis les url dans un tableau PHP, quand je clic sur le bouton telecharger ça m'envoie le code source de la page et non pas le son, je test sous wampp,

	$secondcatalogue_1 = array(
'son_40'=>array(
'audio2' => '../mp3_1/page70.mp3',
'img' => '../img/livre_2.jpg',
'img2' => '../btn/haut-parleur1.png',
'img1' => '',
'text' => '<b>15 - page 70</b> - Message é / et / er / ez',
'color'=>'#99e3df',
'url' => 'localhost/project_val_bis/page_principal/lecteur-audio.php?id=son_43/mp3/../mp3/page70.'

),
voici un bout du tableau et le code html

	echo'<a href="'.$url.'" ><img style="width="76"; height="76" src="../img/bouton-telecharger.png"></a>';


je ne comprend pas pourquoi ça ne fonctionne pas.
merci d'avance
A voir également:

12 réponses

jordane45 Messages postés 38472 Date d'inscription   Statut Modérateur Dernière intervention   4 745
 
Bonjour,

localhost .. seul ton serveur connait....
Un internaute n'y a pas accès.

Pour que la personne puisse y accéder.. il faut que ton url soit du style :

url_de_ton_site/emplacement_du_fichier

où url_de_ton_site est du genre : http://tonsite.fr/


Donc, lorsque tu construits ton lien de téléchargement...
tu dois pouvoir simplement (si ton dossier se trouve à la racine de ton site) utiliser, pour un lien DIRECT :
$_SERVER['SERVER_NAME'] . "emplacement_de_ton_fichier_mp3"

il faut bien indiqué l'emplacement du fichier sur le serveur... et non un lien vers une page (à moins que la page soit celle qui génère l')
Dans ce cas, sur la page qui génère l' tu auras un truc du genre:
<?php
$fileName = "mon_son.mp3";
$file = "chemin_vers_fichier/".$fileName;
header("Content-disposition: attachment; filename=".$fileName);
header("Content-type: octet/stream");
readfile($file);?> 


0
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour la reponse, donc si je comprend bien, mon url serais de se type,

http://www.francaispouradultes/mp3/page125.mp3
0
jordane45 Messages postés 38472 Date d'inscription   Statut Modérateur Dernière intervention   4 745
 
Oui
0
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
merci jordane45,
http://www.francaispouradultes/mp3/page125.mp3


par contre est ce que l'on peut tester sous wampp, car je l'ais noté comme ça et toujours se telechargement du code source.
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention    
bonjour, il est préférable d'utiliser un url relatif.
par exemple, si tu utilises "mp3/page125.mp3" comme url, cela va automatiquement s'adapter en fonction du site:
- si la page visitée est www.francaispouradultes/, l'url va devenir www.francaispouradultes/mp3/page125.mp3
- si ta page visitée est localhost/project_val_bis/page_principal/, l'url va devenir localhost/project_val_bis/page_principal/mp3/page125.mp3

en d'autres mots, ton url relatif va fonctionner même quand tu déplaces ton site.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
alors je viens d'essayer avec cet url,

localhost/project_val_bis/../mp3/page29.mp3

et
localhost/project_val_bis/../mp3/page29


je recois toujours le code source de la page et sait comme si je ne recevais rien.
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
quand tu écris "essayer avec cet url", merci d'écrire où tu as essayé:
- dans la barre d'adresse de ton navigateur?
- ailleurs?
0
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
l'attribut href de la balise a dans le code source est vide, donc j'ai fait un print_r et var_dump, string 'localhost/project_val_bis/page_principal/lecteur-audio.php?id=son_43/mp3/../mp3/page57.' (length=87)
je recois bien quelque chose.
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
montre le code source de ta page html, et ton code php.
0
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
le code source:

<!doctype html>
<html lang="fr">
<head>
<title>françaispouradulte
</title>
<!------------------------------balises-meta--------------------------------->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Bandes sons Au boulot ! livre 1 et livre 2 – le français pour adultes – Valérie <b>VERMURIE</b>">
<!-----------------------------styles-css------------------------------------>
<link rel="stylesheet" href="../css/style.css" media="all">
<link rel="stylesheet" href="../css/style_exo_1.css" media="all">
<link rel="stylesheet" href="../css/.css" media="all">
<link rel="stylesheet" href="../css/normalize.css" media="all">
<link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="../css/animate.css" />
<link rel="icon" type="image/png" href="../favicon.png" />
<link rel="apple-touch-icon" sizes="120x120" href="../apple-touch-icon-120x120-precomposed.png" /> <link rel="apple-touch-icon" sizes="152x152" href="../apple-touch-icon-152x152-precomposed.png" />
<!-----------------------------styles-font----------------------------------->
<link href='https://fonts.googleapis.com/css?family=Kreon:400,700,300' rel='stylesheet' type='text/css'>
<!-----------------------------script_js----------------------------------->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<script src="jquery.js"></script>
<script src="audioplayer.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="audiojs/audio.min.js"></script>
<!--[if IE9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div id="wrapper">
<header class="header_color">
<div id="header_logo">
<img src="../img/logo.png" alt="logo_francais_pour_adultes" />
</div>
<nav class="nav_right">
<li>
<a href="../index.php" title="accueil">ACCUEIL
</a>
</li>
<li>
<a href="../page_principal/exercices.php" title="exercices">EXERCICES
</a>
</li>
<li>
<a href="../page_principal/livres.php" title="livres">LIVRES
</a>
</li>
<li>
<a href="../page_principal/audio.php" style="color:#54d1cd;" title="audio">AUDIO
</a>
</li>
<li>
<a href="../page_principal/.php" title="">
</a>
</div>

</header>
<div id="content">
<br />
<div class="container">
<section class="post text_desc">

<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'localhost/project_val_bis/page_principal/lecteur-audio.php?id=son_43/mp3/../mp3/page64.'</font> <i>(length=87)</i>
</pre><figure style="display:inline-block;border:none;padding:1px;"><img width="390" height="580" style="margin:55px 0 0 260px;" src="../img/livre_1.jpg" alt=""></figure><figure style="display:inline-block;border:none;padding:1px;"></figure><figure style="display:inline-block;border:none;padding:1px;"></figure><div><figure style="display:inline-block;border:none;padding:1px;"></figure></div><div><audio style="float:left;margin-left:325px;margin-top:20px;margin-bottom:50px;" controls preload="auto"><source src="" type="audio/mp3"/><source src="" type="audio/mp3"/><source src="../mp3/page64.mp3" type="audio/mp3"/><source src="" type="audio/mp3"/></audio></div><div style="display:inline-block;margin-left:850px; margin-top:40px; margin-bottom:10px;"><a href="" ><img style="width="76"; height="76" src="../img/bouton-telecharger.png"></a></div><div style="float:left;width:150px; height:80px; margin:-65px 0 0 710px;"><a style="padding:1em 1.5em .7em 1.5em;border:1px solid #000;text-decoration:none;background:#fff;font-family:notoserif;font-weight:bold;color:#000;" href="http://s642262600.onlinehome.fr//index.php?img=..%2Fimg%2Flivre_1.jpg&prix=18.90&livre_1=ACHETER" >ACHETER</a></div> </section>
</div>

</div>
<!--------------content------>
<footer class="footer_color">
<div class="info_left foot_info_left">
<p>Réalisation du site internet:
<a style="font-size:1.3em;" href="../page_principal/_nills.php">Nilsweb
</a>
</p>
<p>© - Le français pour adultes - 2016 - Tous droits réservés.
</p>
</div>
<div class="info_left foot_info_right">
<li class="info-border">
<a href=".php">
</a>
</li>
<li class="info-border">
<a href="../page_principal/mention.php">Mention légales / Condition générales de ventes
</a>
</li>
</div>
</footer>
</div>
<!--------------wrapper------>
<script src="js/viewportchecker.js">
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('.post').addClass("hidden").viewportChecker({
classToAdd: 'visible animated fadeInDown', // Class to add to the elements when they are visible
offset: 100
}
);
}
);
</script>
<script type="text/javascript">
$(function() {
$('a[href=#header]').click(function(){
$('html').animate({
scrollTop:0}
, 'slow');
return false;
}
);
}
);
</script>
<script type="text/javascript">
var vid = document.getElementById("audio");
function playVid(id) {
var vid = document.getElementById(id);
vid.play(id);
}
function pauseVid() {
vid.pause();
}
</script>
<script type="text/javascript">
var vid = document.getElementById("son");
function playVid(id) {
var vid = document.getElementById(id);
vid.play(id);
}
function pauseVid() {
vid.pause();
}
</script>
<script type="text/javascript">
var vid = document.getElementById("son_1");
function playVid(id) {
var vid = document.getElementById(id);
vid.play(id);
}
function pauseVid() {
vid.pause();
}
</script>
<script type="text/javascript">
var vid = document.getElementById("son_2");
function playVid(id) {
var vid = document.getElementById(id);
vid.play(id);
}
function pauseVid() {
vid.pause();
}
</script>
<script type="text/javascript">
var vid = document.getElementById("son_3");
function playVid(id) {
var vid = document.getElementById(id);
vid.play(id);
}
function pauseVid() {
vid.pause();
}
</script>
<script type="text/javascript">
var vid = document.getElementById("son_4");
function playVid(id) {
var vid = document.getElementById(id);
vid.play(id);
}
function pauseVid() {
vid.pause();
}
</script>
</body>
</html>



et le php

			<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

require_once "../inc/inc_catalogue.php";

require_once "../inc/inc_secondcatalogue.php";

$id = !empty($_GET['id']) ? $_GET['id'] : NULL;


if($id){


$audio3 = !empty($catalogue[$id]['audio3']) ? $catalogue[$id]['audio3'] : NULL;
$img = !empty($catalogue[$id]['img']) ? $catalogue[$id]['img'] : NULL;
$img2 = !empty($catalogue[$id]['img2']) ? $catalogue[$id]['img2'] : NULL;
$img1 = !empty($catalogue[$id]['img1']) ? $catalogue[$id]['img1'] : NULL;
$text = !empty($catalogue[$id]['text']) ? $catalogue[$id]['text'] : NULL;
$color = !empty($catalogue[$id]['color']) ? $catalogue[$id]['color'] : NULL;
$url = !empty($catalogue[$id]['url']) ? $catalogue[$id]['url'] : NULL;

var_dump($url);

echo'<figure style="display:inline-block;border:none;padding:1px;">';
if (strlen($img1) > 0) {
echo '<img width="390" height="580" style="margin:55px 0 0 260px;" src="' . $img1 .'" alt="">';
}if (strlen($img) > 0) {
echo '<img width="960" height="800" style="margin:55px 0 0 260px;" src="' . $img .'" alt="">';
}
echo'</figure>';

$audio4 = !empty($catalogue_1[$id]['audio4']) ? $catalogue_1[$id]['audio4'] : NULL;
$img = !empty($catalogue_1[$id]['img']) ? $catalogue_1[$id]['img'] : NULL;
$img2 = !empty($catalogue_1[$id]['img2']) ? $catalogue_1[$id]['img2'] : NULL;
$img1 = !empty($catalogue_1[$id]['img1']) ? $catalogue_1[$id]['img1'] : NULL;
$text = !empty($catalogue_[$id]['text']) ? $catalogue_[$id]['text'] : NULL;
$color = !empty($catalogue_1[$id]['color']) ? $catalogue_1[$id]['color'] : NULL;
$url = !empty($catalogue_1[$id]['url']) ? $catalogue_1[$id]['url'] : NULL;

echo'<figure style="display:inline-block;border:none;padding:1px;">';
if (strlen($img1) > 0) {
echo '<img width="390" height="580" style="margin:55px 0 0 260px;" src="' . $img1 .'" alt="">';
}if (strlen($img) > 0) {
echo '<img width="960" height="800" style="margin:55px 0 0 260px;" src="' . $img .'" alt="">';
}
echo'</figure>';

$audio1 = !empty($secondcatalogue[$id]['audio1']) ? $secondcatalogue[$id]['audio1'] : NULL;
$img = !empty($secondcatalogue[$id]['img']) ? $secondcatalogue[$id]['img'] : NULL;
$img2 = !empty($secondcatalogue[$id]['img2']) ? $secondcatalogue[$id]['img2'] : NULL;
$img1 = !empty($secondcatalogue[$id]['img1']) ? $secondcatalogue[$id]['img1'] : NULL;
$text = !empty($secondcatalogue[$id]['text']) ? $secondcatalogue[$id]['text'] : NULL;
$color = !empty($secondcatalogue[$id]['color']) ? $secondcatalogue[$id]['color'] : NULL;
$url = !empty($secondcatalogue[$id]['url']) ? $secondcatalogue[$id]['url'] : NULL;

echo'<figure style="display:inline-block;border:none;padding:1px;">';
if (strlen($img) > 0) {
echo '<img width="390" height="580" style="margin:55px 0 0 260px;" src="' . $img .'" alt="">';
}if (strlen($img1) > 0) {
echo '<img width="960" height="800" style="margin:55px 0 0 0;" src="' . $img1 .'" alt="">';
}
echo'</figure>';

$audio2 = !empty($secondcatalogue_1[$id]['audio2']) ? $secondcatalogue_1[$id]['audio2'] : NULL;
$img = !empty($secondcatalogue_1[$id]['img']) ? $secondcatalogue_1[$id]['img'] : NULL;
$img2 = !empty($secondcatalogue_1[$id]['img2']) ? $secondcatalogue_1[$id]['img2'] : NULL;
$img1 = !empty($secondcatalogue_1[$id]['img1']) ? $secondcatalogue_1[$id]['img1'] : NULL;
$text = !empty($secondcatalogue_[$id]['text']) ? $secondcatalogue_[$id]['text'] : NULL;
$color = !empty($secondcatalogue_1[$id]['color']) ? $secondcatalogue_1[$id]['color'] : NULL;
$url = !empty($secondcatalogue_1[$id]['url']) ? $secondcatalogue_1[$id]['url'] : NULL;

echo'<div>';
echo'<figure style="display:inline-block;border:none;padding:1px;">';
if (strlen($img) > 0) {
echo '<img width="390" height="580" style="margin:55px 0 0 260px;" src="' . $img .'" alt="">';
}if (strlen($img1) > 0) {
echo '<img width="960" height="800" style="margin:55px 0 0 0;" src="' . $img1 .'" alt="">';
}
echo'</figure>';
echo'</div>';
echo'<div>';
echo'<audio style="float:left;margin-left:325px;margin-top:20px;margin-bottom:50px;" controls preload="auto">';
echo'<source src="'. $audio1 .'" type="audio/mp3"/>';
echo'<source src="'. $audio2 .'" type="audio/mp3"/>';
echo'<source src="'. $audio3 .'" type="audio/mp3"/>';
echo'<source src="'. $audio4 .'" type="audio/mp3"/>';
echo'</audio>';
echo'</div>';
echo'<div style="display:inline-block;margin-left:850px; margin-top:40px; margin-bottom:10px;">';

echo'<a href="'.$url.'" ><img style="width="76"; height="76" src="../img/bouton-telecharger.png"></a>';

echo'</div>';

echo'<div style="float:left;width:150px; height:80px; margin:-65px 0 0 710px;">';
echo'<a style="padding:1em 1.5em .7em 1.5em;border:1px solid #000;text-decoration:none;background:#fff;font-family:notoserif;font-weight:bold;color:#000;" href="http://s642262600.onlinehome.fr//index.php?img=..%2Fimg%2Flivre_1.jpg&prix=18.90&livre_1=ACHETER" >ACHETER</a>';
echo'</div>';


}else{
echo "Catalogue inconnu !";
}



?>
merci
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
voici un extrait de ton code php, qui te montre que tu modifies trois fois $url après le var_dump:
			  $url = !empty($catalogue[$id]['url']) ? $catalogue[$id]['url'] : NULL;
			  		var_dump($url);
// snip
			  $url = !empty($catalogue_1[$id]['url']) ? $catalogue_1[$id]['url'] : NULL;
// snip
			  $url = !empty($secondcatalogue[$id]['url']) ? $secondcatalogue[$id]['url'] : NULL;
//snip
			  $url = !empty($secondcatalogue_1[$id]['url']) ? $secondcatalogue_1[$id]['url'] : NULL;
// snip
								echo'<a href="'.$url.'" ><img style="width="76"; height="76" src="../img/bouton-telecharger.png"></a>';
il n'est donc pas surprenant que l'attribut href de la balise a dans le code source soit différent de ce que montre var_dump.

tout autre chose: ton url "localhost/project_val_bis/page_principal/lecteur-audio.php" me semble bizarre.
je suggère simplement "lecteur-audio.php".
en effet, je suppose que lecteur-audio.php est accessible au même endroit que la page php dont on s'occupe pour le moment et dont je ne connais pas le nom.
0
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
la page lecteur-audio est le code source et effectivement est la meme page ou il y a le PHP, oui mais les urls sont dans 4 tableaux differents ou est ce que je devrai les différencier dans chaque tableaux comme pour les audio.
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
tu avais prévu un seul bouton pour télécharger quatre musiques?
0
boni91 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
bah je me suis dit que si l'id envoyais une seul cle donc 1 valeurs ou plusieurs suivant le besoin, j'ai 4 tableau avec 13 choix audio chacun, j'ai essayer de mettre 4 bouton en renomment url, url1, url2, url4 mais toujours envoie du code source et en mème temps j'ai les quatre boutons qui s'affiche. alors la je suis un peu désespérer, je regarde un peu partout mais je ne trouve pas le probleme
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
j'ai l'impression que tu cours dans tous les sens sans prendre le temps de réfléchir.
à quoi sert ['url'] dans les catalogues? ne faudrait-il pas commencer par supprimer cela?
0
boni91
 
bonjour yb_be, oui effectivement je suis un peu perdu, pourquoi supprimer les URL si je veut permettre aux utilisateurs de pouvoir télécharger les sons, alors quel est la meilleurs solution. j'ai regarder sur plein de site différents qui dise que avec une simple balise <a></a> les navigateurs reconnaisse et permette le téléchargement. pour cela il faut bien identifier les URL? ou pas,

car chrome, safari, opéra leurs lecteurs permette le telechargement, par contre mozilla non.
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
je pense que tu as tout ce qu'il faut dans ['audio2'], pourquoi avoir ['url'] en plus?
0
boni91
 
merci énormément yb_be, pourtant j avais essayer comme ça et j 'avais eu des souci, sait pour cela que j'étais partis sur autre manière et la bizarrement ça fonctionne très bien.

en tout cas merci pour votre patience et professionnalisme.
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
avec plaisir!
cette discussion peut-elle être marquée comme résolue?
0
Boni91
 
Oui merci
0