Вывести ссылку на скачивание загруженного изображения
Есть код, выводит загруженное изображение. Нужно вывести под ним ссылку на скачивание. Что смог, то сделал - при первой загрузке всё выводится, но дальше ничего не идёт. Смотрите коммент в коде.
Если надо, рабочее демо и оригинальные исходники брал тут.
Сам код:
<?php
$path = "../../images/";
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg","PNG","JPG","JPEG","GIF","BMP");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
{
$ext = getExtension($name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
echo "<img src='http://blog.rufex.ru/images/".$actual_image_name."' class='preview'>
<br /><input type='text' data-ng-switch-when='true' value='http://blog.rufex.ru/images/".$actual_image_name."' />"; // Косяк в этой строке, если её убрать, то всё работает
}
else
echo "Ошибка";
}
else
echo "Размер изображения более 1 Мб";
}
else
echo "Неверный тип файла";
}
else
echo "Вберите изображение";
exit;
}
?>
Источник: Stack Overflow на русском