Вывести ссылку на скачивание загруженного изображения

Рейтинг: 0Ответов: 1Опубликовано: 28.12.2014

Есть код, выводит загруженное изображение. Нужно вывести под ним ссылку на скачивание. Что смог, то сделал - при первой загрузке всё выводится, но дальше ничего не идёт. Смотрите коммент в коде.

Если надо, рабочее демо и оригинальные исходники брал тут.

Сам код:

<?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;
}
?>

Ответы

▲ 1Принят

Если НЕ нужно скрывать реальную ссылку используем только так:

<img src="/path/to/image.jpg" alt="My Image" />
<a href="/path/to/image.jpg" download="image.jpg" target="_blank" rel="nofollow">Download This Image</a>

Никаких PHP гейтов. Стандарт тут: http://www.w3schools.com/tags/att_a_download.asp