【问题标题】:upload image from html form and display it in your website?从 html 表单上传图像并将其显示在您的网站上?
【发布时间】:2013-06-11 12:12:24
【问题描述】:

我有这个表格

<form action="up.php" method="post" enctype="multipart/form-data">
<table>
<tr><td>Title</td><td><input type="text" name="title" /></td></tr>
<tr><td>Price</td><td><input type="text" name="price" /></td></tr>
<tr><td>Kilometers</td><td><input type="text" name="km" /></td></tr>
<tr><td>CC</td><td><input type="text" name="cc" /></td></tr>
<tr><td>HP</td><td><input type="text" name="hp" /></td></tr>
<tr><td>Color</td><td><input type="text" name="color" /></td></tr>
<tr><td>Fuel</td><td><input type="text" name="fuel" /></td></tr>
<tr><td>Doors</td><td><input type="text" name="doors" /></td></tr>
<tr><td>Phone</td><td><input type="text" name="tel" /></td></tr>
<input type="hidden" name="max_size" value="1000000" />
<tr><td>Image 1</td><td><input name="img1" type="file" /></td></tr>
</table>
<input type="submit" name="go" value="Submit" />
</form>

当我点击提交时,我想将上面的所有数据显示到包含此代码的 up.php 文件中

<body>
<div id="all">
<?php

$ttitle=$_POST['title'];
$pric=$_POST['price'];
$klm=$_POST['km'];
$ccc=$_POST['cc'];
$hpp=$_POST['hp'];
$colorr=$_POST['color'];
$fuell=$_POST['fuel'];
$dors=$_POST['doors'];
$thl=$_POST['tel'];
?>
<div id="cont">
<table>
<?php
echo '<tr><h1>' . $ttitle . '</h1></tr>';
echo '<tr><td>Τιμή:</td><td>' . $pric . '</td></tr>';
echo '<tr><td>Χιλιόμετρα:</td><td>' . $klm . '</td></tr>';
echo '<tr><td>Κυβικά:</td><td>' . $ccc . '</td></tr>';
echo '<tr><td>Ιπποδύναμη:</td><td>' . $hpp . '</td></tr>';
echo '<tr><td>Χρώμα:</td><td>' . $colorr . '</td></tr>';
echo '<tr><td>Καύσιμο:</td><td>' . $fuell . '</td></tr>';
echo '<tr><td>Πόρτες:</td><td>' . $dors . '</td></tr>';
echo '<tr><td>Τηλέφωνο:</td><td>' . $thl . '</td></tr>';
?>
</table>
</div>
<div id="pics">
<?php

echo "<img src='" . $img1 . "' alt='image'/>";

?>
</div>
</div>
</body>

我已经搜索了很多教程,但我无法让它工作,所以我真的需要你的帮助来完成这项工作..

当我点击提交按钮时,我得到了这个。

你能帮帮我吗?提前谢谢你。

【问题讨论】:

  • 第 38 行是 echo "";
  • 您尚未在 PHP 处理程序中定义 $img1
  • 尝试在$thl=$_POST['tel']; 下添加$img1=$_POST['img1']; 看看这对你有什么作用,同时使用下面的Marc B's 答案。

标签: php html image forms upload


【解决方案1】:
<?php if (isset($_POST['submit'])) {
                        $image_name = $_FILES['image']['name'];
                        $image_type = $_FILES['image']['type']; 
                        $image_size = $_FILES['image']['size']; 
                        $image_tmp_name = $_FILES['image']['tmp_name']; 

                        move_uploaded_file($image_tmp_name, "uploads/$image_name");
                        echo "<img src='uploads/$image_name' width='220' height='150'>"; 
                } ?>

你好兄弟!只需尝试此代码,一切正常...

【讨论】:

    【解决方案2】:

    这是不正确的:

    echo "<img src='" . $img1 . "' alt='image'/>";
                        ^^^^^
    

    您没有在任何地方定义 $img1,因此您的错误。这也是不是在 PHP 中执行文件上传的方式。给定

    <tr><td>Image 1</td><td><input name="img1" type="file" /></td></tr>
    

    您将在$_FILES['img1'] 中获得文件上传元数据。不会有$_POST['img1'],句号。此处记录了如何在 PHP 中处理文件上传:http://www.php.net/manual/en/features.file-upload.post-method.php

    【讨论】:

    • 这就是我要说的,但无论如何我都会发表评论。
    • 我用 $_FILES 尝试了这个方法,我还阅读了 W3SCHOOLS 中的教程,我无法让它工作,我找不到原因.. 我在本地使用 xampp 工作有问题吗?
    • 没办法说。你需要自己调试,例如检查$_FILES['img1']['error'] 并与我链接到的文档中的代码进行比较。仅供参考:w3schools 是一个完全没用的网站。他们的代码很糟糕、过时并且经常出错。
    • @user1300556 你不是moving (move_uploaded_file) 你上传的文件/图像在任何地方。我没有看到任何上传功能,还是您忽略了它?当然它会起作用locally我想。如果您实际上已经实现了上传功能,您能否更新/编辑您的问题?
    猜你喜欢
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 2015-09-23
    • 2019-09-27
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多