如何使用PHP、提交和单选按钮复制/重命名/覆盖图像
How can I copy/rename/overwrite image using PHP, submit and radio buttons?
我刚开始使用PHP,我正在尝试为客户端提供一种方法,使其能够使用单选按钮和表单提交来更改图像。我的意图是将两个图像文件中的一个(Open/Closed.jpg)复制并重命名到另一个位置(images/status/status.jpg),这样就不需要编码来进行更改。
"新"图像将在其他地方使用。我尝试过各种copy()和rename()调用,但都没有成功。下面是我正在使用的代码。我觉得我的问题在于提交电话,但我尝试的所有方法都没有奏效。因此,我回到了我的原始代码(下面),在经验丰富的用户/程序员的帮助下,尝试一个全新的开始。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="">
<meta name="keywords" content="">
<title></title>
<link href="style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<?php
// define variables and set to empty values
$WinterStatusErr = "";
$WinterStatus = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["WinterStatus"]))
{$WinterStatusErr = "Status is required";}
else
{$WinterStatus = test_input($_POST["WinterStatus"]);}
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<p><span class="error"><font color="red"><b>* required selection</b></font></span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="radio" name="WinterStatus" <?php if (isset($WinterStatus) && $WinterStatus=="open") echo "checked";?> value="Open">Open
<input type="radio" name="WinterStatus" <?php if (isset($WinterStatus) && $WinterStatus=="closed") echo "checked";?> value="Closed">Closed
<span class="error"><font color="red"><b>* <?php echo $WinterStatusErr;?></b></font></span>
<br><br>
<input type="submit" name="submit" value="Submit" <?php
if ($Winterstatus == "Open")
{ copy ("images/Open.jpg", "images/status/Status.jpg"); }
elseif ($Winterstatus == "Closed")
{ copy ("images/Closed.jpg", "images/status/Status.jpg");}
?>>
</form>
<?php echo $WinterStatus ?>
</body>
首先从提交输入中删除if语句,然后将if语句中的$Winterstatus更改为$Winterstatus。
在php中,您可以使用exec()来执行命令。在linux上,"cp"命令应该按照您的要求执行。不过,权限/安全问题将是一个问题,所以我建议将变量更改为新图像,而不是实际移动它……更简单、更安全——如果我知道你在哪里引用图像,我可以帮助你弄清楚。
相关文章:
- 正在使用Dropzone.js删除服务器上已重命名的文件
- Angular重命名模块后未能实例化模块
- 如何使用laravel重命名已存储在服务器中的文件
- 如何使用外部Javascript库(如jQuery)重命名Google闭包样式表
- lodash:重命名对象中的键
- 阻止对的关闭重命名对象键
- gulp重命名多个文件
- Ckfinder在上传之前重命名图像
- 为什么 Google 闭包编译器会重命名对象的属性名称
- 使用 javascript 重命名数组中的对象键
- JSnice如何进行统计重命名,重命名Javascript变量
- 使用 gruntjs 自定义初始化任务重命名模板文件夹
- 重命名上传的文件Ruby On Rails
- AJAX成功重定向覆盖其他逻辑
- 重命名动态添加或删除的表单字段
- 如何使用PHP、提交和单选按钮复制/重命名/覆盖图像
- 导出时如何重命名excel文件
- 重命名Alfresco脚本中的文件
- 我正在尝试将javascript文本框的输入保存回服务器.我想从保存的弹出文本框中获得输入,以重命名文件夹
- 使用AjaxForm Jquery重命名文件