2016-04-15 58 views
-1

PHPtwigを使用してデータベースから画像を表示しようとしています。私はこれを達成するために大きな問題を抱えています。私のindex.twigに私はこのコード行を持っています:<a><img class="images" src="showImg.php?id={{ text.getImage() }}" /></a>。 は、for-loopから来て、showImg.phpは、指定されたIDパラメータに基づいて画像を選択するクエリを実行します。私showImg.phpで :PHPとtwigを使用してデータベースから画像を表示する方法

if (isset($_GET['id'])) { 
    $id = intval($_GET['id']); 
    $sql = "SELECT filename, mime, code FROM Img_col WHERE id = :id"; 
    $stmt = $this->db->prepare($sql); 
    $stmt->bindParam(':id', $id, PDO::PARAM_INT); 
    $stmt->execute(); 
    while($row = $stmt->fetchObject('Image')) { 
     $this->result[] = $row; 
    } 
    Header("Content-type: $img->getMime()"); 
    Header("Content-Disposition: filename=\"$img->getFileName()\""); 
    $img->hentCode(); 
} 

私の最初の問題は、IDEがライン$stmt = $this->db->prepare($sql);に停止し、私の第二の問題は、index.twigに画像(code)を送信する方法です。 私を助けるためのアイデアやヒントは非常に感謝しています。

答えて

0

私はあなたが達成したいとは思っていませんが、これはSymfonyですばやく行うことができます。

/** 
* @Route("/image/{id}", name="image") 
*/ 
public function imageAction($id) 
{ 
    $image = $this->getDoctrine()->getRepository('AppBundle:Image')->findOneBy(array('id'=> $id)); 
    return $this->render('image.html.twig', array('image' => $image)); 
} 

を明らかにあなたは、少なくとも二つのフィールドであなたのAppBundleに簡単なImageクラスが必要になります::idとimagenameのあなたは経路に従ってあなたの応答を作成するコントローラを必要としています。

そして、あなたのimage.html.twig中:

<img src="/images/{{ image.imageName }}"/> 

は、より多くの情報については、ドキュメントをチェックアウト: Symfony Documentation

関連する問題