<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Iw2 &#187; download</title>
	<atom:link href="http://www.iw2.fr/tag/download/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iw2.fr</link>
	<description>Veille techno, web 2.0, Symfony, Magento, Drupal, Gestion de projet...</description>
	<lastBuildDate>Tue, 23 Aug 2011 06:46:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Symfony &#8211; Forcer le téléchargement</title>
		<link>http://www.iw2.fr/2009/10/28/symfony-forcer-le-telechargement/</link>
		<comments>http://www.iw2.fr/2009/10/28/symfony-forcer-le-telechargement/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 19:29:00 +0000</pubDate>
		<dc:creator>jmartin</dc:creator>
				<category><![CDATA[Symfony]]></category>
		<category><![CDATA[download]]></category>

		<guid isPermaLink="false">http://www.iw2.fr/?p=12</guid>
		<description><![CDATA[Voici un petit article rapide pour apporter une solution à cette question : &#171;&#160;Comment forcer le téléchargement d&#8217;un fichier avec Symfony&#160;&#187;. Je devais mettre en place aujourd&#8217;hui cette fonctionnalité pour un site et plus précisement pour une messagerie avec pièce &#8230; <a href="http://www.iw2.fr/2009/10/28/symfony-forcer-le-telechargement/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici un petit article rapide pour apporter une solution à cette question : &laquo;&nbsp;Comment forcer le téléchargement d&#8217;un fichier avec Symfony&nbsp;&raquo;.</p>
<p><a class="highslide" href="http://www.iw2.dev/wp-content/uploads/2009/11/symfony-logo1.gif"><img class="alignright size-full wp-image-90" title="symfony-logo" src="http://www.iw2.dev/wp-content/uploads/2009/11/symfony-logo1.gif" alt="symfony-logo" width="160" height="43" /></a></p>
<p>Je devais mettre en place aujourd&#8217;hui cette fonctionnalité pour un site et plus précisement pour une messagerie avec pièce jointe.</p>
<p>Après quelques essais personnels qui ont été un échec pour forcer le download de mon fichier, j&#8217;ai tenté de trouver des réponses sur le web. Bien évidement et comme toujours, plusieurs personnes avaient le même problème que moi <img src='http://www.iw2.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Mais les réponses proposées n&#8217;étaient pas à la hauteur de mes espérances&#8230; cela ne fonctionnait toujours pas.</p>
<p>Et finalement, je suis tombé sur ce site : <a href="http://howto.landure.fr/symfony/loadertool-une-classe-symfony-specialisee-dans-le-telechargement" target="_blank">LoaderTool</a></p>
<p>Ils mettent à disposition une classe PHP pour symfony permettant de forcer le téléchargement très simplement et efficacement.</p>
<p>Il suffit de copier cette classe <a href="http://www.iw2.dev/wp-content/uploads/2009/11/loadertool-class.php_.zip">loadertool-class.php</a> dans un de vos dossier dans le répertoire lib de votre projet Symfony, et ensuite créé une action de téléchargement sur un de vos modules :</p>
<pre class="brush: php; title: ;">
public function executeDownload(sfWebRequest $request)
{
  //Dans mon cas, je récupère ici mon objet message.
  $this-&gt;forward404Unless($message = Doctrine::getTable('messenger')-&gt;find($request-&gt;getParameter('id'));

  //J'initialise la variable $file avec le chemin vers mon fichier
  $file = sfConfig::get('sf_upload_dir').'/messenger_pj/'.$message-&gt;getAttachment();

  //Je lance le téléchargement avec LoaderTool
  LoaderTool::downloadContent($file);
  exit();
}
</pre>
<p>Rien de plus simple. Il existe d&#8217;autres options pour cette classe que je vous laisse découvrir.</p>
<p>To be continued&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iw2.fr/2009/10/28/symfony-forcer-le-telechargement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

