Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Comment supprimer par programme le fichier "temporaire" généré par le navigateur avec tcpdf ?

Posted by pheromix on 07/12/2016 11:58

Je veux avoir l'aperçu des données en ouvrant un pdf :

// dans un controlleur
function testPdf(){
	
	$oResp = $this->getResponse("tcpdf") ;
				 
	//NEW PDF DOCUMENT
	$oResp->outputFileName = "liste_concepteur_matiere.pdf";
	$oResp->doDownload = false;
	$oResp->initPdf('L', 'mm', 'A4', null,	null);
	
	//settting
	$oResp->tcpdf->SetFont ('pdfahelvetica', '', 12) ;

	// set margins
	$oResp->tcpdf->SetMargins(20, 20, 20) ;
	$oResp->tcpdf->SetHeaderMargin(15) ;
	$oResp->tcpdf->SetFooterMargin(15) ;
	
	$oResp->tcpdf->SetAutoPageBreak(TRUE, 20) ;
	
	// set image scale factor
	$oResp->tcpdf->setImageScale(1.25);
	
	$oResp->tcpdf->AddPage();
	
	$iIdMatiere =  $_SESSION["id_matiere"] ;
	
	jClasses::inc ("sujet~questionSrv") ;
	jClasses::inc ("commun~toolsSrv") ;
	
	$oCurrentUser = jAuth::getUserSession() ;
	$oCurrentUser = toolsSrv::getByCondition ("utilisateurs~users", "login", $oCurrentUser->login) ;
	$oCurrentUser = $oCurrentUser [0] ;  
	
	$Questions = questionSrv::getAllQuestionsNotValidateByCondition ($iIdMatiere, null , $oCurrentUser->id, "id_question" , null,null, null) ;
	
	$zHtml = "";
	
	$i = 1 ;
	foreach ($Questions["toQuestions"] as $tab){
		if( $tab->id_type_question == 2){
			 $zHtml .= "<dt> ". $i ." - " . questionSrv::text_to_texthtml($tab->lib_question)  . " </dt>" ;
			
			 $zHtml .= "<dd>&nbsp;a)&nbsp;".	questionSrv::text_to_texthtml($tab->qcm_r1)."</dd>";	
			 $zHtml .= "<dd>&nbsp;b)&nbsp;". questionSrv::text_to_texthtml($tab->qcm_r2)."</dd>";	
			 $zHtml .= "<dd>&nbsp;c)&nbsp;". questionSrv::text_to_texthtml($tab->qcm_r3)."</dd>";	 
		
			if(trim($tab->qcm_r4) !="")
			$zHtml .= "<dd>&nbsp;d)&nbsp;".questionSrv::text_to_texthtml($tab->qcm_r4)."</dd>";	
		
			if(trim($tab->qcm_r5) !="")	
			$zHtml .= "<dd>&nbsp;e)&nbsp;".questionSrv::text_to_texthtml($tab->qcm_r5)."</dd>";	
			
			if(trim($tab->qcm_r6) !="")
			$zHtml .= "<dd>&nbsp;f)&nbsp;".questionSrv::text_to_texthtml($tab->qcm_r6)."</dd>"  ; 
		
		} else {
			$zHtml .= "<dt>". $i ." - " . questionSrv::text_to_texthtml($tab->lib_question)  . "</dt>";
			
			if($tab->epreuve_phase_sess != 1){
				$zHtml .= "<dd>&nbsp;a)&nbsp;VRAI</dd>";	
				$zHtml .= "<dd>&nbsp;b)&nbsp;FAUX</dd>";	
			}
		}
		
		$i++;
	}
	
	$oResp->tcpdf->writeHTML($zHtml, true, 0, true, 0); 

	return $oResp ;
}

Le fichier liste_concepteur_matiere.pdf ainsi généré téléchargé par le navigateur est pour mon cas dans le dossier C:\Users\Ambre-68\AppData\Local\Temp. Alors comment supprimer ce fichier par programme ? Et comment savoir par programme son emplacement ?

  [Opened] Comment supprimer par programme le fichier "temporaire" généré par le navigateur avec tcpdf ?

Reply #1 Posted by laurentj on 07/12/2016 15:15

Même réponse que ton autre question similaire : ce n'est pas possible.

Faire du web implique que tout ce qui est accessible depuis un navigateur est téléchargeable, copiable, diffusable. Tu ne peux y mettre qu'une "barrière" légale, du genre un copyright, une licence, incluse dans le document, qui en interdit la copie par quiconque a accès au document. Tu peux mettre une "pseudo" barrière technique, en vérifiant dans ton contrôleur que l'utilisateur est identifié et a effectivement alors le droit d'accéder à la page web, au document pdf ou autre. Mais cela ne l’empêchera pas de le copier (pour son propre besoin ou pour tout autre chose).

Tu noteras que, rien que le fait que le navigateur affiche un contenu (que ce soit une page web, une image dans une page web ou toute seule, un pdf ou n'importe quel type de document), il est forcé de le télécharger, donc... d'en faire une copie ! De plus, depuis le serveur web, il est impossible d'accéder ou de manipuler les fichiers gérés par le navigateur, donc de supprimer ceux qui ne te plaisent pas. Et c'est bien heureux, sinon ce serait ce qu'on appelle un gros gros trou de sécurité, et un enfer pour les internautes (virus, vols de données personnels etc..).

 
Page
  1. Comment supprimer par programme le fichier "temporaire" généré par le navigateur avec tcpdf ?