Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2017-02-26T20:58:26+01:00Les derniers messages parus sur le forum de Zeste de Savoir.PHP7, problème avec la fonction Readfile(), message #1426802017-02-26T20:58:26+01:00WinXaito/@WinXaitohttps://zestedesavoir.com/forums/sujet/8091/php7-probleme-avec-la-fonction-readfile/?page=1#p142680<p>Bonjour,</p>
<div class="warning ico-after">
<p>Problème résolu, voir mon edit. Une bête erreur…</p>
</div>
<p>J’ai un petit soucis avec la fonction <code>readfile()</code>. Elle me rajoute au début du fichier le chemin sur le serveur, ce qui corrompt mes fichiers. Pourtant, il ne me semble que rien ne pourrait provoquer ceci dans mon code ? Ou alors c’est une bête erreur.</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="cp"><?php</span> <span class="c1">//Pour la coloration syntaxique</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Content-Description: File Transfer'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Content-Type: application/octet-stream'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Content-Disposition: attachment; filename="'</span><span class="o">.</span><span class="nv">$file</span><span class="o">-></span><span class="na">getName</span><span class="p">()</span><span class="o">.</span><span class="s1">'"'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Expires: 0'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Cache-Control: must-revalidate'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Pragma: public'</span><span class="p">);</span>
<span class="nb">header</span><span class="p">(</span><span class="s1">'Content-Length: '</span> <span class="o">.</span> <span class="nb">filesize</span><span class="p">(</span><span class="nv">$file_path</span><span class="p">));</span>
<span class="nb">readfile</span><span class="p">(</span><span class="nv">$file_path</span><span class="p">);</span>
<span class="k">exit</span><span class="p">;</span>
</pre></div>
</td></tr></table></div>
<p>la variable <code>$file_path</code> correspond à : <code>D:\***\Documents\Programmation\Web\winxaito\***\controllers\files/../../media/users/9/projects/19/files/58ac84ed2d62a.wx</code> (C’est d’ailleurs le chemin que je retrouve au début de mes fichiers).~~</p>
<p>Edit:</p>
<div class="information ico-after">
<p>En faite je suis stupide, je viens de remarquer que j’avais un <code>echo $file_path</code> dans mon code, je ne pensais pas que ça influencerais sur le fichier. C’est bon à savoir <img alt=":)" src="/static/smileys/smile.png"></p>
</div>