Я несколько раз просматривал этот код и до сих пор не вижу, что не так. Этот код является содержимым [url] /sig/index.php. Каждый раз, когда я запускаю его, я получаю сообщение "Извините, произошла ошибка". Но когда я проверяю значения новых и старых файлов, я пытаюсь скопировать их, они в порядке. Я делаю что-то глупое? Я использую функцию копирования на других страницах того же сервера, поэтому я уверен, что с кодом должно быть что-то не так.
Это простая страница для копирования файла в том же каталоге, перезаписывая предыдущий файл. Я знаю, что исходные файлы существуют, потому что у меня есть «Тестовая ссылка на исходный файл», которая всегда работает.
<?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>