Php 为什么使用echo无法正确打印表格?
我将按照本教程使用php中的echo打印提交文件的值。 教程: 不是预期的表,临时文件的名称、类型、大小和名称与预期的不同。我甚至尝试过用引号“for”替换,但没有成功。我不明白为什么开头的分号会被打印出来,而代码指令“$var”会取代变量的实际值 编辑:我的PHP版本7.2.1,下面是我提交并调用PHP代码的html代码:Php 为什么使用echo无法正确打印表格?,php,html,Php,Html,我将按照本教程使用php中的echo打印提交文件的值。 教程: 不是预期的表,临时文件的名称、类型、大小和名称与预期的不同。我甚至尝试过用引号“for”替换,但没有成功。我不明白为什么开头的分号会被打印出来,而代码指令“$var”会取代变量的实际值 编辑:我的PHP版本7.2.1,下面是我提交并调用PHP代码的html代码: <!DOCTYPE html> <html lang="en"> <head> <script type="text/jav
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="jquery.js"></script>
<!-- GOOGLE -->
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
<!--<script src="https://apis.google.com/js/platform.js" async defer>
</script> -->
<!-- GOOGLE -->
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
-->
<link rel="stylesheet" type="text/css" href="Tops.css">
<link rel="stylesheet" type="text/css" href="Ejemplo_botones.css">
<link rel="stylesheet" type="text/css" href="Config.css">
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP" crossorigin="anonymous">
</head>
<body>
<style>
</style>
<link rel="stylesheet" href="">
<nav>
<a href="Topsitio.html"><img src="logo.png" class=top alt=""></a>
<ul>
<li><a href="/">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Contacto</a></li>
<li><a href="I.php">Iniciar Sesión</a></li>
</ul>
</nav>
<figure>
<img src="shop.png" class=shop alt="">
</figure>
<div class="container">
<div class="Pasos">
<ul>
<a href=""><li class="paso1 paso">Paso 1 </li></a>
<a href=""><li class="paso"> Paso 2 </li></a>
<a href=""><li class="paso"> Paso 3 </li></a>
<a href=""><li class="paso"> Paso 4 </li></a>
<a href=""><li class="paso5 paso"> Paso 5</li></a>
</ul>
</div>
</div>
<div class="registro">
<p id="regi" class="titulo-registro">Cargar foto de Perfil</p>
<div class="ringborder">
<div class="ring">
<i id="profile" class="fas fa-user-tie"></i>
</div>
</div>
<br><br><form action="upload_table.php " method="post" enctype="multipart/form-data">
<div class="contenedor">
<p>
Elige una foto:</p>
<input class="plus" type="file" name="fileName" id="file-5" class="inputfile inputfile-4" data-multiple-caption="{count} files selected" multiple="" hidden>
<label for="file-5"><figure class="box"><svg id="upload" xmlns="http://www.w3.org/2000/svg" width="180" height="170" version="1.1">
<path id="upload" fill="white" heigthstroke="#f00" transform="scale(3.0)" d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"></path>
</svg></figure>
</label>
</div>
<br><input class="subir" type="submit" value="+ Subir foto">
</form>
<br><br>
<div class="next">Siguiente</div>
</div>
<div class="first blau">
<h1><span class="text">Articulos de gran calidad</span><span class="text2">   -   Relojes y Pulseras</span></h1>
</div>
<script type="text/javascript" src="jquery.js"></script>
<script>
</script>
</body>
文件
Cargar foto de Perfil
伊丽格·乌纳·福托:
西吉恩特
大口径Articulos-Relojes y Pulseras
没有理由尝试将所有内容放入echo
中。让HTML只是普通的HTML,并在需要的地方添加PHP数据
// assuming you were already in PHP
?>
<table border="1">
<tr><td>Client Filename: </td>
<td><?php echo $_FILES['fileName']['name']; ?></td></tr>
<tr><td>File Type: </td>
<td><?php echo $_FILES['fileName']['type']; ?></td></tr>
<tr><td>File Size: </td>
<td><?php echo ($_FILES['fileName']['size'] / 1024); ?> Kb</td></tr>
<tr><td>Name of Temporary File: </td>
<td><?php echo $_FILES['fileName']['tmp_name']; ?></td></tr>
</table>
<?php // back into PHP if you need to for something else
//假设您已经在使用PHP
?>
客户端文件名:
文件类型:
文件大小:
Kb
临时文件名:
没有理由尝试将所有内容都放入echo
。让HTML只是普通的HTML,并在需要的地方添加PHP数据
// assuming you were already in PHP
?>
<table border="1">
<tr><td>Client Filename: </td>
<td><?php echo $_FILES['fileName']['name']; ?></td></tr>
<tr><td>File Type: </td>
<td><?php echo $_FILES['fileName']['type']; ?></td></tr>
<tr><td>File Size: </td>
<td><?php echo ($_FILES['fileName']['size'] / 1024); ?> Kb</td></tr>
<tr><td>Name of Temporary File: </td>
<td><?php echo $_FILES['fileName']['tmp_name']; ?></td></tr>
</table>
<?php // back into PHP if you need to for something else
//假设您已经在使用PHP
?>
客户端文件名:
文件类型:
文件大小:
Kb
临时文件名:
您必须调试PHP代码,因为它看起来是正确的
开始调试的最佳方法是尝试在$\u文件中使用假静态值,以查看发生了什么:
<?php
$_FILES["fileName"] = [];
$_FILES["fileName"]["name"] = 'test.jpg';
$_FILES["fileName"]["type"] = 'image/jpg';
$_FILES["fileName"]["size"] = 134767;
$_FILES["fileName"]["tmp_name"] = '/tmp/temp_filename.jpg';
echo "<table border=\"1\">";
echo "<tr><td>Client Filename: </td>
<td>" . $_FILES["fileName"]["name"] . "</td></tr>";
echo "<tr><td>File Type: </td>
<td>" . $_FILES["fileName"]["type"] . "</td></tr>";
echo "<tr><td>File Size: </td>
<td>" . ($_FILES["fileName"]["size"] / 1024) . " Kb</td></tr>";
echo "<tr><td>Name of Temporary File: </td>
<td>" . $_FILES["fileName"]["tmp_name"] . "</td></tr>";
echo "</table>";
?>
如果不起作用,请复制一个起作用的php文件,将相同的代码放入其中,并替换其中的upload\u table.php
。因为如果upload\u table.php
的开头有BOM(),它将在顶部打印一些空白字符,可能会阻止php代码的执行。或者您可以保存文件utf8而不保存BOM。但我怀疑这与BOM有关,但您永远不知道。您必须调试php代码,因为它似乎是正确的
开始调试的最佳方法是尝试在$\u文件中使用假静态值,以查看发生了什么:
<?php
$_FILES["fileName"] = [];
$_FILES["fileName"]["name"] = 'test.jpg';
$_FILES["fileName"]["type"] = 'image/jpg';
$_FILES["fileName"]["size"] = 134767;
$_FILES["fileName"]["tmp_name"] = '/tmp/temp_filename.jpg';
echo "<table border=\"1\">";
echo "<tr><td>Client Filename: </td>
<td>" . $_FILES["fileName"]["name"] . "</td></tr>";
echo "<tr><td>File Type: </td>
<td>" . $_FILES["fileName"]["type"] . "</td></tr>";
echo "<tr><td>File Size: </td>
<td>" . ($_FILES["fileName"]["size"] / 1024) . " Kb</td></tr>";
echo "<tr><td>Name of Temporary File: </td>
<td>" . $_FILES["fileName"]["tmp_name"] . "</td></tr>";
echo "</table>";
?>
如果不起作用,请复制一个起作用的php文件,将相同的代码放入其中,并替换其中的upload\u table.php
。因为如果upload\u table.php
的开头有BOM(),它将在顶部打印一些空白字符,可能会阻止php代码的执行。或者您可以保存文件utf8而不保存BOM。但我怀疑这与BOM有关,但您永远不知道。更具体地看一下第一行的末尾,您有3个“
”的背靠背。您的.php文件顶部是否有php标记?或者您忘记了一个,看起来您的PHP代码没有被执行。其他PHP文件在您使用的服务器上正常工作吗?从输出来看,似乎没有为该文件启用PHP。它不会作为PHP脚本执行,而是按原样发送到浏览器。当您在浏览器中查看源代码视图时,您会看到这一点。请更具体地查看第一行末尾的3“
”背靠背您的.php文件顶部是否有php标记?或者您忘记了一个,看起来您的PHP代码没有被执行。其他PHP文件在您使用的服务器上正常工作吗?从输出来看,似乎没有为该文件启用PHP。它不会作为PHP脚本执行,而是按原样发送到浏览器。在浏览器中查看源代码视图时,您会看到这一点。另外请注意,这应该是首选方法,因为php要处理的字符更少!还要注意,这应该是首选的方式,因为php处理的字符更少!