Bonjour

Je suis confronté à un problème que je n'arrive pas à résoudre.

j'ai un formulaire qui intègre une éditeur de texte.
voici ma vu
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
 
<script type="text/javascript"> 
       $(document).ready(
               function()
               {
                       $('#form_text').redactor({ 	
                               imageUpload: "/lib/redactor/demo/scripts/image_upload.php",
                               fileUpload: '/lib/redactor/demo/scripts/file_upload.php',
                               imageGetJson: '/lib/redactor/demo/json/data.json'
 
                       });
               }
       );     
    </script>
 
 
    <form id="redactor" action="{{path('edit_text')}}" method="post">
    {{ form_label(form.text, "Titre de l'article") }}
 
    <!-- Affichage des erreurs pour ce champ précis. -->
    {{ form_errors(form.text) }}
 
    <!-- Génération de l'input. -->
    {{ form_widget(form.text) }}
    {{ form_rest(form) }}
        <input type="submit" value="enregistrer" />  
    </form>
{% endblock%}
lorsque je clique sur "enregistrer", je crée directement un PDF, lorsque je tape du texte
dans l'editeur "redactor" pas de problème, mon PDF est créer correctement

ça coince lorsque j'upload une image.
j'ai bien une image qui appraît dans la zone d'edtion, mais une fois que je clique sur enregistrer
j'ai cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ERREUR n°6 : Impossible de charger l'image /lib/redactor/img/d16dc6d9a4d65bb736accfe30d91df26.jpg
voici le script file_upload.php
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
 
<?php
 
// This is a simplified example, which doesn't cover security of uploaded images. 
// This example just demonstrate the logic behind the process. 
 
 
// files storage folder
$dir = "../../img/";
 
$_FILES['file']['type'] = strtolower($_FILES['file']['type']);
 
if ($_FILES['file']['type'] == 'image/png' 
|| $_FILES['file']['type'] == 'image/jpg' 
|| $_FILES['file']['type'] == 'image/gif' 
|| $_FILES['file']['type'] == 'image/jpeg'
|| $_FILES['file']['type'] == 'image/pjpeg')
{	
    // setting file's mysterious name
    $filename = md5(date('YmdHis')).'.jpg';
    $file = $dir.$filename;
 
    // copying
    copy($_FILES['file']['tmp_name'], $file);
 
    // displaying file    
	$array = array(
		'filelink' => '/lib/redactor/img/'.$filename
	);
 
	echo stripslashes(json_encode($array));   
 
}
 
?>
si je change cette ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
		'filelink' => '/lib/redactor/img/'.$filename
par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
		'filelink' => './lib/redactor/img/'.$filename //ajouter un . avant le slash

mon document PDF fonctionne avec mon image, mais le problème c'est que maintenant
dans l'éditeur de texte redactor, je ne vois plus l'image, car le point que j'ai ajouter fait que l'image est introuvable.

voici ce que je fait dans mon controlleur une fois que je test le POST
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
 
       $request = $this->get('request');
 
        // On vérifie qu'elle est de type « POST ».
        if ($request->getMethod() == 'POST') {
 
            print_r($request->get('form'));
            // On fait le lien Requête <-> Formulaire.
            $form->bindRequest($request);
            //$text =  $article->getText();
            // On vérifie que les valeurs rentrées sont correctes.
            // (Nous verrons la validation des objets en détail plus bas dans ce chapitre.)
            //  if ($form->isValid()) {
            // On l'enregistre notre objet $article dans la base de données.
            $em = $this->getDoctrine()->getEntityManager();
            $em->persist($article);
            $em->flush();
            $this->newPDFAction($article->getText());
            // }
        }
        public function newPDFAction($html) {
 
        $html2pdf = new \Html2Pdf_Html2Pdf('P', 'A4', 'fr');
        $html2pdf->pdf->SetDisplayMode('real');
        $html2pdf->writeHTML($html);
        $html2pdf->Output('my-document-name.pdf');
 
        $response = new Response();
        $response->clearHttpHeaders();
        $response->setContent(file_get_contents($fichier));
        $response->headers->set('Content-Type', 'application/force-download');
        $response->headers->set('Content-disposition', 'filename=' . $html2pdf);
 
   ///     return $this->render('keokodPDFBundle:Default:index.html.twig', array('PDF' => $response));
    }
j'avais penser que lorsque j'appelle cette methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
        public function newPDFAction($html) {
j'analyse $html , je recherche tout les liens images et j'ajoute un point sur chacune des lignes, mais je trouve que c'est pas propre de faire cela.

J'espère avoir expliquer au mieux mon problème.
Si vous avez une idée, je vous remercie d'avance de la réponse