图像保存到 dic 并用 php 显示它们
image saving to a dic and display them with php
<body>
<?php
if (isset($_POST["submit_photo"]))
{
processform();
} else {
displayform();
}
function processform()
{
if (isset($_FILES["photo"]) and $_FILES["photo"]["error"] == UPLOAD_ERR_OK)
{
if ($_FILES["photo"]["type"] != "image/png")
{
echo " png image please, thank you";
}
else if (!move_uploaded_file($_FILES["photo"]["temp_name"], "photos/".basename($_FILES["photo"]["name"])))
{
echo "sorry there was a problem uploading photots".$_FILES["photo"]["error"];
} else {
displaythanks();
}
} else {
switch ($_FILES["photo"]["error"])
{
case UPLOAD_ERR_INI_SIZE:
$message = "The photo is larger than the server allows";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The photo is larger than the script allows";
break;
case UPLOAD_ERR_NO_FILE:
$message= "No file selected to be uploaded";
break;
default:
$message= "please contact your administrator for help";
break;
}
echo "Sorry there was a problem with uploading photos. ".$message;
}
}
function displayform()
{?>
<h1> Uploading a photo </h1>
<form style="width:30em" action="photo_upload.php" method="post" enctype="multipart/form-data">
<label for="visitor_name">Your Name :</label>
<input type="text" name="visitor_name" id="visitor_name" value="" /><br />
<label for="photo">Your Photo:</label>
<input type="file" name="photo" id="photo" value="" /><br />
<input type="submit" name="submit_photo" id="submit_photo" value="Submit" />
</form>
<?php
}
function displaythanks()
{
echo "thanks for uploading your photo ". $_POST["visitor_name"];
echo "here is your photo";
?>
<p><img scr="photos/<?php echo $_FILES["photo"]["name"] ?>" alt="photo"/></p>
<?php
}
?>
</body>
我一直在尝试使用该表单获取 png 图像并将其保存到位于同一目录(根文件夹)的照片文件夹中并显示它。发生的事情是,当我点击提交按钮时,它不会将其保存到该照片/文件夹中,也不会显示。我一直在到处浏览以找到解决方案,但他们中的大多数人的写法几乎和我一样。但由于某些原因它不起作用。难道我做错了什么?如果可以,请指出。我也想要任何解决方案。多谢你们。
你的代码有两个问题,但在解释它们之前请给你的代码一个漂亮的风格,这样它就可以阅读了
问题1.你拼错了$_FILES["photo"]["temp_name"]
, 应该是 $_FILES["photo"]["tmp_name"]
问题 2。在 php 中,当您首先尝试上传文件时,它会将文件上传到模板文件夹中,然后让程序员决定是否上传它,这是您的规则,例如 max上传大小,格式... 最后,如果您决定上传文件,则必须使用 move_uploaded_file() 函数,但在您的代码中,这一行位于 else if
部分,因此如果图像类型是png 你的代码永远不会到达那一行。这是更正后的代码:
<body>
<?php
if (isset($_POST["submit_photo"]))
{
processform();
}
else
{
displayform();
}
function processform()
{
if (isset($_FILES["photo"]) and $_FILES["photo"]["error"] == UPLOAD_ERR_OK)
{
if ($_FILES["photo"]["type"] != "image/png")
{
echo " png image please, thank you";
}
if (!move_uploaded_file($_FILES["photo"]["tmp_name"], "photos/" . basename($_FILES["photo"]["name"])))
{
echo "sorry there was a problem uploading photots".$_FILES["photo"]["error"];
}
else
{
displaythanks();
}
}
else
{
switch ($_FILES["photo"]["error"])
{
case UPLOAD_ERR_INI_SIZE:
$message = "The photo is larger than the server allows";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The photo is larger than the script allows";
break;
case UPLOAD_ERR_NO_FILE:
$message= "No file selected to be uploaded";
break;
default:
$message= "please contact your administrator for help";
break;
}
echo "Sorry there was a problem with uploading photos. ".$message;
}
}
function displayform()
{?>
<h1> Uploading a photo </h1>
<form style="width:30em" action="photo_upload.php" method="post" enctype="multipart/form-data">
<label for="visitor_name">Your Name :</label>
<input type="text" name="visitor_name" id="visitor_name" value="" /><br />
<label for="photo">Your Photo:</label>
<input type="file" name="photo" id="photo" value="" /><br />
<input type="submit" name="submit_photo" id="submit_photo" value="Submit" />
</form>
<?php
}
function displaythanks()
{
echo "thanks for uploading your photo ". $_POST["visitor_name"];
echo "here is your photo";
?>
<p><img scr="photos/<?php echo $_FILES["photo"]["name"] ?>" alt="photo"/></p>
<?php
}
?>
</body>
<body>
<?php
if (isset($_POST["submit_photo"]))
{
processform();
} else {
displayform();
}
function processform()
{
if (isset($_FILES["photo"]) and $_FILES["photo"]["error"] == UPLOAD_ERR_OK)
{
if ($_FILES["photo"]["type"] != "image/png")
{
echo " png image please, thank you";
}
else if (!move_uploaded_file($_FILES["photo"]["temp_name"], "photos/".basename($_FILES["photo"]["name"])))
{
echo "sorry there was a problem uploading photots".$_FILES["photo"]["error"];
} else {
displaythanks();
}
} else {
switch ($_FILES["photo"]["error"])
{
case UPLOAD_ERR_INI_SIZE:
$message = "The photo is larger than the server allows";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The photo is larger than the script allows";
break;
case UPLOAD_ERR_NO_FILE:
$message= "No file selected to be uploaded";
break;
default:
$message= "please contact your administrator for help";
break;
}
echo "Sorry there was a problem with uploading photos. ".$message;
}
}
function displayform()
{?>
<h1> Uploading a photo </h1>
<form style="width:30em" action="photo_upload.php" method="post" enctype="multipart/form-data">
<label for="visitor_name">Your Name :</label>
<input type="text" name="visitor_name" id="visitor_name" value="" /><br />
<label for="photo">Your Photo:</label>
<input type="file" name="photo" id="photo" value="" /><br />
<input type="submit" name="submit_photo" id="submit_photo" value="Submit" />
</form>
<?php
}
function displaythanks()
{
echo "thanks for uploading your photo ". $_POST["visitor_name"];
echo "here is your photo";
?>
<p><img scr="photos/<?php echo $_FILES["photo"]["name"] ?>" alt="photo"/></p>
<?php
}
?>
</body>
我一直在尝试使用该表单获取 png 图像并将其保存到位于同一目录(根文件夹)的照片文件夹中并显示它。发生的事情是,当我点击提交按钮时,它不会将其保存到该照片/文件夹中,也不会显示。我一直在到处浏览以找到解决方案,但他们中的大多数人的写法几乎和我一样。但由于某些原因它不起作用。难道我做错了什么?如果可以,请指出。我也想要任何解决方案。多谢你们。
你的代码有两个问题,但在解释它们之前请给你的代码一个漂亮的风格,这样它就可以阅读了
问题1.你拼错了$_FILES["photo"]["temp_name"]
, 应该是 $_FILES["photo"]["tmp_name"]
问题 2。在 php 中,当您首先尝试上传文件时,它会将文件上传到模板文件夹中,然后让程序员决定是否上传它,这是您的规则,例如 max上传大小,格式... 最后,如果您决定上传文件,则必须使用 move_uploaded_file() 函数,但在您的代码中,这一行位于 else if
部分,因此如果图像类型是png 你的代码永远不会到达那一行。这是更正后的代码:
<body>
<?php
if (isset($_POST["submit_photo"]))
{
processform();
}
else
{
displayform();
}
function processform()
{
if (isset($_FILES["photo"]) and $_FILES["photo"]["error"] == UPLOAD_ERR_OK)
{
if ($_FILES["photo"]["type"] != "image/png")
{
echo " png image please, thank you";
}
if (!move_uploaded_file($_FILES["photo"]["tmp_name"], "photos/" . basename($_FILES["photo"]["name"])))
{
echo "sorry there was a problem uploading photots".$_FILES["photo"]["error"];
}
else
{
displaythanks();
}
}
else
{
switch ($_FILES["photo"]["error"])
{
case UPLOAD_ERR_INI_SIZE:
$message = "The photo is larger than the server allows";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The photo is larger than the script allows";
break;
case UPLOAD_ERR_NO_FILE:
$message= "No file selected to be uploaded";
break;
default:
$message= "please contact your administrator for help";
break;
}
echo "Sorry there was a problem with uploading photos. ".$message;
}
}
function displayform()
{?>
<h1> Uploading a photo </h1>
<form style="width:30em" action="photo_upload.php" method="post" enctype="multipart/form-data">
<label for="visitor_name">Your Name :</label>
<input type="text" name="visitor_name" id="visitor_name" value="" /><br />
<label for="photo">Your Photo:</label>
<input type="file" name="photo" id="photo" value="" /><br />
<input type="submit" name="submit_photo" id="submit_photo" value="Submit" />
</form>
<?php
}
function displaythanks()
{
echo "thanks for uploading your photo ". $_POST["visitor_name"];
echo "here is your photo";
?>
<p><img scr="photos/<?php echo $_FILES["photo"]["name"] ?>" alt="photo"/></p>
<?php
}
?>
</body>