使用`.`运算符将变量与字符串连接起来

时间:2014-10-09 09:38:02

标签: php

我正在尝试使用php生成图像(基于表单接收的值)。我知道$ _POST收到的值应该使用点.连接,以便生成正确的图像文件(意味着$ data.jpeg)。即使使用\字符后也不会生成BUt图像。当我使用硬编码(即直接指定扩展名为.jpeg的图像名称)时,会生成图像。

请建议如何使用生成图像的解决方案

我正在附上下面的php代码,

<?php $data = $_POST['id'] ?>
<?php $data=$data.jpeg ?>

<img src="$data">;             

<?php

6 个答案:

答案 0 :(得分:2)

$data.jpeg$data连接到常量 jpeg(默认为字符串"jpeg",所以你不是&# 39;输出中将有.

改为使用字符串:

$data = $data . ".jpeg";

或者将.jpeg部分放在模板中:

<img src="<?php echo $data; ?>.jpeg">

无论哪种方式,都不要忘记通过htmlspecialchars投放用户输入,这样您就不会打开自己的XSS攻击,并且记得在您的网站上添加适当的alt属性imges。

答案 1 :(得分:1)

你需要把#34; .jpeg&#34;作为字符串,并将其连接到$ data var:

<?php $data = $_POST['id'] ?>
<?php $data2=$data.".jpeg" ?>

<img src="tree1.jpeg">             

<?php

答案 2 :(得分:0)

这就是你的代码应该是这样的。

<?php 
    $data = $_POST['id']; 
    $data = $data. ".jpeg"; 
?>

<img src="<?php echo $data; ?>" />

最诚挚的问候。

答案 3 :(得分:0)

当我刚接触php时,我遇到了同样的问题。如果您从数据库中获取图像的名称问题可能是您的文件名可能太长。

答案 4 :(得分:0)

使用类似的东西..

<?php $data = $_POST['id'];
     $data=$data.".jpeg"; 
 ?>

    <img src="<?php echo $data;?>">   

答案 5 :(得分:0)

<?php
if(isset($_POST['submit']))
{
echo "<img src='".$_POST['img'].".jpg'>";
}?>

<form method="post" >
<input type="text" name="img"/>
<input type="submit" name="submit"/>
</form>   

这是类似于你的代码并且完美地运作