2013-03-02 2 views
0

У меня есть изображения, используемые для аватаров пользователей на моем веб-сайте, например http://drksde.tk/images/avatar-Luxie.jpeg Я хочу добавить ссылку, позволяющую пользователям загружать изображение аватара, когда кто-то щелкнет по ссылке появится диалоговое окно «Сохранить как».Php функция для сохранения изображения


Теперь проблема заключается в том, что картина не загружается должным образом, но появится диалоговое окно, вот ссылка на download the avatar, а код:

<?php 
    $username = $_GET['username']; 
    $size = $_GET['size']; 
    $ext = $_GET['ext']; 
    $border = $_GET['border']; 
    $basename = basename($_SERVER['REQUEST_URI']); 

    if(!isset($size)) { $size = 'small'; } 
    if(!isset($ext)) { $ext = 'jpeg'; } 
    if(!isset($border)) { $border = 'true'; } 

$file = 'avatar-'.$size.'-'.$username.'.'.$ext; 

    header('Content-Description: File Transfer'); 
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename='.$basename); 
    header('Content-Transfer-Encoding: binary'); 
    header('Expires: 0'); 
    header('Cache-Control: must-revalidate'); 
    header('Pragma: public'); 
    #header('Content-Length: ' . filesize($file)); 
    ob_clean(); 
    flush(); 
    readfile($file); 
    exit; 
?> 
+2

Конечно, они всегда могут просто щелкнуть правой кнопкой мыши по изображению и «сохранить как» –

+0

обычно ссылка аватара приведет вас на страницу профиля пользователя. превращая его в «загружать изображение», это разрывает точку с наличием аватара в первую очередь. Я предлагаю оставить это как ссылку на профиль, а затем добавить явную ссылку «загрузить это изображение» на странице профиля. –

+0

@ mark-b Я знаю, сайт работает так, я спрашиваю, как сделать ссылку «скачать это изображение», чтобы показать диалог «Сохранить как», когда пользователи нажимают на него. – Ender

ответ

1

Вы можете проверить Пример # 1 в php.net руководстве здесь:

http://php.net/manual/en/function.readfile.php

Он показывает, как заставить загрузка изображения.

Вы можете поместить его в сценарий image.php и использовать его как этот

<a href="http://example.com/image.php?user=123">download avatar image</a> 

Вы можете использовать его с параметром $_GET['user'] служить правильный файл пользовательского изображения.

Не забудьте подтвердить ввод GET.

+0

Спасибо, это то, что я искал!! : D – Ender

Смежные вопросы