一种形式中的多个图像输入?
Multiple image inputs within one form?
我看到的大多数问题都与一张图像输入有关。但是,如果您有 2 个或 3 个或更多怎么办?
我的一个图像输入脚本有效,但我试图在我的表单中输入一个单图像和一个多图像输入。我正在测试在我的表单上输入 2 个单图像但无法正常工作。
这是一个单图像输入的 HTML(假设它在 < form > 标签内):
<input type="hidden" name="size" value="350000"/>
<input type="file" name="schoollogo"/><br/>
PHP:
$target = "images/logo/";
$target = $target . basename( $_FILES['schoollogo']['name']);
$schoollogo = $_FILES['schoollogo']['name'];
//Writes the information to the database
mysql_query("INSERT INTO Colleges (schoollogo) VALUES ('$schoollogo')") or die(mysql_error()) ;
//Writes the logo to the server
if (move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) {
//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
} else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
对于第二个单图输入,我只是添加了第二个输入代码...
<input type="hidden" name="size" value="350000"/>
<input type="file" name="otherimage"/><br/>
然后将变量添加到PHP:
$targetotherimage = "images/otherimage/";
$targetotherimage = $targetotherimage . basename( $_FILES['otherimage']['name']);
mysql_query("INSERT INTO Colleges (schoollogo,otherimage) VALUES ('$schoollogo','$otherimage')") or die(mysql_error()) ;
//Writes the logo to the server
if (move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) && (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)) {
但是当将该代码添加到 PHP 时,该代码不起作用。没有错误消息或任何东西。页面是空白的。
顺便说一下,here is my other question 我正在尝试将一个多图像上传输入添加到我的表单中,该输入已经可以正常工作了。
if 条件关闭错误。
if(move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) && (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)) {
^^^^// In your code if condition close here
用作
if(move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)
&& (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)))//if condition close here
{
// rest of code
}
这对你有用,用这个替换你的表格
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="file['schoollogo']" >
<input type="file" name="file['otherimage']" >
<input type="submit" value="submit">
</form>
您将获得以下格式的文件:
Array
(
[file] => Array
(
[name] => Array
(
['schoollogo'] => 1465386599_Location_Outline-36.png
['otherimage'] => STONE_Website_v7E.jpg
)
[type] => Array
(
['schoollogo'] => image/png
['otherimage'] => image/jpeg
)
)
)
并在 upload.php 文件中
<?php
if (isset($_FILES['file']))
{
$schoollogo=$_FILES['file']['name']['schoollogo'];
$target = "images/logo/".basename($schoollogo);;
$otherimage = $_FILES['file']['name']['otherimage'];
$targetotherimage = "images/otherimage/".basename($otherimage);
$tmp_name_school = $_FILES['file']['tmp_name']['schoollogo'];
$tmp_name_other = $_FILES['file']['tmp_name']['otherimage'];
if ($tmp_name_school != "" && $tmp_name_other !== "")
{
//Upload the file
if(move_uploaded_file($tmp_name_school,$target) && move_uploaded_file($tmp_name_other, $targetotherimage))
{
mysql_query("INSERT INTO Colleges (schoollogo,otherimage) VALUES ('$schoollogo','$otherimage')") or die(mysql_error()) ;
echo'Done!';
}
else
{
echo "Not Moved";
}
}
}
?>
我看到的大多数问题都与一张图像输入有关。但是,如果您有 2 个或 3 个或更多怎么办?
我的一个图像输入脚本有效,但我试图在我的表单中输入一个单图像和一个多图像输入。我正在测试在我的表单上输入 2 个单图像但无法正常工作。
这是一个单图像输入的 HTML(假设它在 < form > 标签内):
<input type="hidden" name="size" value="350000"/>
<input type="file" name="schoollogo"/><br/>
PHP:
$target = "images/logo/";
$target = $target . basename( $_FILES['schoollogo']['name']);
$schoollogo = $_FILES['schoollogo']['name'];
//Writes the information to the database
mysql_query("INSERT INTO Colleges (schoollogo) VALUES ('$schoollogo')") or die(mysql_error()) ;
//Writes the logo to the server
if (move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) {
//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
} else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
对于第二个单图输入,我只是添加了第二个输入代码...
<input type="hidden" name="size" value="350000"/>
<input type="file" name="otherimage"/><br/>
然后将变量添加到PHP:
$targetotherimage = "images/otherimage/";
$targetotherimage = $targetotherimage . basename( $_FILES['otherimage']['name']);
mysql_query("INSERT INTO Colleges (schoollogo,otherimage) VALUES ('$schoollogo','$otherimage')") or die(mysql_error()) ;
//Writes the logo to the server
if (move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) && (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)) {
但是当将该代码添加到 PHP 时,该代码不起作用。没有错误消息或任何东西。页面是空白的。
顺便说一下,here is my other question 我正在尝试将一个多图像上传输入添加到我的表单中,该输入已经可以正常工作了。
if 条件关闭错误。
if(move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)) && (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)) {
^^^^// In your code if condition close here
用作
if(move_uploaded_file($_FILES['schoollogo']['tmp_name'], $target)
&& (move_uploaded_file($_FILES['otherimage']['tmp_name'], $targetotherimage)))//if condition close here
{
// rest of code
}
这对你有用,用这个替换你的表格
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="file['schoollogo']" >
<input type="file" name="file['otherimage']" >
<input type="submit" value="submit">
</form>
您将获得以下格式的文件:
Array
(
[file] => Array
(
[name] => Array
(
['schoollogo'] => 1465386599_Location_Outline-36.png
['otherimage'] => STONE_Website_v7E.jpg
)
[type] => Array
(
['schoollogo'] => image/png
['otherimage'] => image/jpeg
)
)
)
并在 upload.php 文件中
<?php
if (isset($_FILES['file']))
{
$schoollogo=$_FILES['file']['name']['schoollogo'];
$target = "images/logo/".basename($schoollogo);;
$otherimage = $_FILES['file']['name']['otherimage'];
$targetotherimage = "images/otherimage/".basename($otherimage);
$tmp_name_school = $_FILES['file']['tmp_name']['schoollogo'];
$tmp_name_other = $_FILES['file']['tmp_name']['otherimage'];
if ($tmp_name_school != "" && $tmp_name_other !== "")
{
//Upload the file
if(move_uploaded_file($tmp_name_school,$target) && move_uploaded_file($tmp_name_other, $targetotherimage))
{
mysql_query("INSERT INTO Colleges (schoollogo,otherimage) VALUES ('$schoollogo','$otherimage')") or die(mysql_error()) ;
echo'Done!';
}
else
{
echo "Not Moved";
}
}
}
?>