IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Double problème : RSS et fichiers doc


Sujet :

Zend Framework PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Double problème : RSS et fichiers doc
    Bonjour tout le monde, j'ai deux problèmes dans mon appli php :

    premièrement mon flux RSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
            public function rssAction()
    	{
    		$this->news = new News();
            $nouvelles = $this->news->getNewsByLimit ( 10, 0 ); // flux des 10 dernieres entrees
     
    		//print_r($nouvelles);
     
    		$tempnouvelle = $nouvelles->current ();
    		$pubDate = strtotime($tempnouvelle->date);
    		$urlDeBase = 'http://127.0.0.1' . $this->_request->getBaseUrl ();
     
    		$feedArray = array ('title' => 'Marenla',
    				'link' => $urlDeBase . '/index/rss',
    				'description' => 'dernières informations',
    				'language' => 'fr-fr',
    				'charset' => 'utf-8',
    				'lastUpdate' => $pubDate,
    				'generator' => 'Zend Framework Zend_Feed',
    				'entries' => array ( ) );
     
    		foreach ( $nouvelles as $nouvelle )
    		{
    			$contenu = $nouvelle->contenu;
    			if(strlen($contenu)<=200)
    			{
    				$cmax = strlen($contenu);
    			}
    			else
    			{
    				$cmax = 200;
    				while($contenu[$cmax] !== " ")
    				{
    					$cmax++;
    				}
    			}
    			$subcontenu = substr($contenu, 1, $cmax);
     
    			$feedArray ['entries'] [] = array (
    									'title' => $nouvelle->titre,
    									'link' => $urlDeBase . '/index/voir/id/' . $nouvelle->id,
    									'guid' => $urlDeBase . '/index/voir/id/' . $nouvelle->id,
    									'description' => $subcontenu.'...',
    									'content' => $contenu,
    									'lastUpdate' => strtotime($nouvelle->date));
    		}
     
    		print_r($feedArray);
     
    		$feed = Zend_Feed::importArray ( $feedArray, 'rss' );
     
    		foreach ($feed as $entry) {
                $element = $entry->summary->getDOM();
    		}
     
    		// pas de layout.html
    		Zend_Layout::getMvcInstance ()->disableLayout (true);
    		$this->_helper->viewRenderer->setNoRender();
    		$feed->send();
        }
    Ce code ne provoque pas d'erreur en lui-même à l'exécution mais lorsque je clique sur le lien menant à cette action dans firefox, il me propose de télécharger un fichier de type application/rss+xml au lieu de me proposer de m'abonner à ce flux comme il devrait le faire, et le fait sur tout autre flux rss. Je ne comprends pas d'où ça vient


    Deuxième problème : téléchargement de fichiers doc,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    	public function downloadAction()
    	{
    		//chdir('../bulletins/');
    		Zend_Layout::getMvcInstance()->disableLayout();
    		$fileToDown = (string)$this->_request->getParam('file', null);
    		$this->_helper->viewRenderer->setNoRender();
    		//$localfile = '....test.doc';
    		//$contents = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/application/bulletins/' . $fileToDown);
     
    		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    		header('Content-Description: File Transfer');
    		header('Content-Transfer-Encoding: binary');
    		header('Content-Type: application/octet-stream');
                    //header('Content-Type: application/msword');
    		header('Content-Length: '.filesize($_SERVER['DOCUMENT_ROOT'] . '/application/bulletins/' . $fileToDown));
    		header('Content-Disposition: attachment; filename='.$fileToDown);
    		//ob_clean();
            //flush();
     
    		readfile($_SERVER['DOCUMENT_ROOT'] . '/application/bulletins/' . $fileToDown);
    		}
    A la suite du téléchargement, à l'ouverture Word demande de convertir le fichier (pas normal :p) et le contenu du fichier devient ensuite illisible et est totalement différent (rempli de petits carrés, etc...). Pour info les fichiers .doc testés ont été créés avec le même Word 2003. Je ne comprends pas

    Si vous pouviez m'aider ça serait sympa

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    J'ai modifié mon download de fichier .doc de telle manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    	public function downloadAction()
    	{
    		//chdir('../bulletins/');
    		Zend_Layout::getMvcInstance()->disableLayout();
    		$fileToDown = (string)$this->_request->getParam('file', null);
    		$this->_helper->viewRenderer->setNoRender();
     
                    $contents = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/application/bulletins/' . $fileToDown);
    		$this->getResponse()->setHeader("Cache-Control","no-cache, must-revalidate");
    		$this->getResponse()->setHeader("Content-Description", "File Transfer");
    		$this->getResponse()->setHeader("Pragma", "public");
    		$this->getResponse()->setHeader("Expires", "0");
    		$this->getResponse()->setHeader("Content-Type", "application/msword");
    		$this->getResponse()->setHeader("Content-Length", filesize($_SERVER['DOCUMENT_ROOT'] . '/application/bulletins/' . $fileToDown));
    		$this->getResponse()->setHeader("Content-Disposition", 'attachment; filename='.$fileToDown);
    		$this->getResponse()->setBody($contents); 
     
                    echo $contents; 
            }
    Mais ça ne marche toujours pas, le flux rss non plus. I need help

Discussions similaires

  1. probléme generation de fichier doc en arabe
    Par yasworld dans le forum Documents
    Réponses: 22
    Dernier message: 05/05/2011, 11h03
  2. Réponses: 1
    Dernier message: 30/06/2010, 21h15
  3. [WD-2007] Problème entre un fichier .dot et les .doc
    Par Montfeus dans le forum Word
    Réponses: 1
    Dernier message: 26/06/2009, 17h39
  4. Problème lecture fichier doc
    Par OLman135 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/07/2008, 14h01
  5. [WORD] Problème pour concatener 2 fichiers .doc
    Par marco000 dans le forum VBA Word
    Réponses: 14
    Dernier message: 27/08/2006, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo