简单 php 复制函数总是返回错误
simple php copy function always retuns an error
我已经多次检查这段代码,但仍然看不出有什么问题。这段代码是[url]/sig/index.php的内容。每次我 运行 它,我都会得到 "Sorry there was an error"。但是当我检查我试图复制的新旧文件的值时,它们很好。我在做傻事吗?我在同一台服务器上的其他页面中使用了复制功能,所以我确定一定是代码有问题。
这是一个简单的页面,用于复制同一目录中的文件,覆盖之前的文件。我知道源文件存在,因为我有一个始终有效的 "Test link to source file"。
<?php
$formval = $_POST["banners"] ;
$newname = "banner-main.png" ;
$dir = "/sig/" ;
$img_to_copy = $dir . $formval . ".png" ;
$newimg = $dir . $newname ;
if (copy($img_to_copy, $newimg)) {
echo ($formval . " is the new email signature image.") ;
} else {
echo "Sorry, there was an error.";
} ;
echo '<a href="' . $img_to_copy . '?var=' . rand(0,1000000) . '" target="_blank">Test link to source file</a>' ;
?>
<h1>Which banner is next?</h1>
<br>
<form action="/sig/index.php" method="post">
<input type="radio" name="banners" value="banner-1">Banner 1
<br>
<input type="radio" name="banners" value="banner-2">Banner 2
<br>
<input type="radio" name="banners" value="banner-3">Banner 3
<br>
<input type="radio" name="banners" value="banner-4">Banner 4
<br>
<input type="submit" value="Submit">
</form>
最有可能的原因是 $dir = "/sig/"
你有。
查看文件(在 HTML 中)时,这会使用 domain/project 的 网络服务器 DocumentRoot 中的文件夹 sig/
。
复制时将使用 文件系统根目录 中的文件夹 sig/
(该文件不存在)。
将 $dir = "/sig/"
更改为 $dir = "./sig/"
或在复制文件时使用 完整文件系统路径。
我已经多次检查这段代码,但仍然看不出有什么问题。这段代码是[url]/sig/index.php的内容。每次我 运行 它,我都会得到 "Sorry there was an error"。但是当我检查我试图复制的新旧文件的值时,它们很好。我在做傻事吗?我在同一台服务器上的其他页面中使用了复制功能,所以我确定一定是代码有问题。
这是一个简单的页面,用于复制同一目录中的文件,覆盖之前的文件。我知道源文件存在,因为我有一个始终有效的 "Test link to source file"。
<?php
$formval = $_POST["banners"] ;
$newname = "banner-main.png" ;
$dir = "/sig/" ;
$img_to_copy = $dir . $formval . ".png" ;
$newimg = $dir . $newname ;
if (copy($img_to_copy, $newimg)) {
echo ($formval . " is the new email signature image.") ;
} else {
echo "Sorry, there was an error.";
} ;
echo '<a href="' . $img_to_copy . '?var=' . rand(0,1000000) . '" target="_blank">Test link to source file</a>' ;
?>
<h1>Which banner is next?</h1>
<br>
<form action="/sig/index.php" method="post">
<input type="radio" name="banners" value="banner-1">Banner 1
<br>
<input type="radio" name="banners" value="banner-2">Banner 2
<br>
<input type="radio" name="banners" value="banner-3">Banner 3
<br>
<input type="radio" name="banners" value="banner-4">Banner 4
<br>
<input type="submit" value="Submit">
</form>
最有可能的原因是 $dir = "/sig/"
你有。
查看文件(在 HTML 中)时,这会使用 domain/project 的 网络服务器 DocumentRoot 中的文件夹 sig/
。
复制时将使用 文件系统根目录 中的文件夹 sig/
(该文件不存在)。
将 $dir = "/sig/"
更改为 $dir = "./sig/"
或在复制文件时使用 完整文件系统路径。