co nowego na blogu Krzywego ebiznesy.pl: Płatne wyświetlanie reklam, czyli GPTR i autosurfy
 zajrzyj także na video - blog > celeber.pl:  Skracanie adresów URL z goo.gl, czyli z Google


Poinformuj znajomych o tym wątku
Poinformuj znajomych na Facebook-u o tym wątku Poinformuj innych ludzi na Wykopie o tym wątku Poinformuj znajomych na Twitter-ze o tym wątku Poinformuj znajomych na Blip-ie o tym wątku Poinformuj znajomych na Buzz-ie o tym wątku Poinformuj znajomych na GG o tym wątku
wszystko o serwisach WWW, głównie od strony technicznej (XHMTL, CSS, PHP, MySQL)
 
Wiecie może jak napisać kod, żeby na stronie po kliknięciu w dany obrazek nie pokazywał się on w nowym oknie, tylko opcja żeby go zapisać? Znalazłem jakiś kod php ale nie działa...

W Internecie nie znalazłem informacji, które mógłbym wykorzystać do tego celu. :niewiem2:

Twoja darmowa bramka sms - wysyłaj sms-y za free.
Naprawdę łatwy zarobek w zasięgu Twojej ręki.
Awatar użytkownika
MichaelloClass
 
Posty: 151
Rejestracja: 29 Sty 2010
Miejscowość: Łódź

 
Cześć :]
Skoro w necie nie ma skryptów na ten temat, to napisałem Ci małe co nie co :]
http://lapti.vot.pl/1/1.html

Wzorując się na specyfikacji:
http://php.net/manual/en/function.header.php

Napisałem cosik takiego:
Kod: Zaznacz wszystko
PLIK HTML (ten z obrazkiem)
<html>
<head></head>
<body>
<a href="lapti.php?d=logo.jpg"><img border="0" alt="" src="logo.jpg"></a>
</body>
</html>

Kod: Zaznacz wszystko
PLIK PHP (ten z linku - lapti.php)
<?php
$download = $_GET['d'];
header('Content-type: image/jpg');
header('Content-Disposition: attachment; filename="'.$download.'"');
?>


Pozdrawiam
lapti :)

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs

______________________________________________________________________
Wynajem koparek
Wynajem koparki - poradnik budowlany

[size=150]pomogłem Ci -> pajacyk.pl i wszystko jasne[/size]
Awatar użytkownika
lapti
 
Posty: 576
Rejestracja: 04 Lis 2009

 
Coś mi jednak nie działa. Zapisałem plik php i zamieściłem odpowiedni kod. Po wszystkim jak klikam na obrazek pobiera mi się, lecz po zapisaniu nie widać obrazu.

Próbowałem z pierwszym obrazkiem, który znajduje się pod tym linkiem:

http://www.darmowa-bramka-sms.pl/darmow ... 8x160.html

Twoja darmowa bramka sms - wysyłaj sms-y za free.
Naprawdę łatwy zarobek w zasięgu Twojej ręki.
Awatar użytkownika
MichaelloClass
 
Posty: 151
Rejestracja: 29 Sty 2010
Miejscowość: Łódź

A miało się później otwierać?

Postprzez lapti 13 Mar 2010, o 12:56

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Ale nie napisałeś, że chcesz je później wyświetlać :P
faktycznie mój błąd...

trzeba dopisać jedną linijkę do pliku php
Kod: Zaznacz wszystko
PLIK PHP (ten z linku - lapti.php)
<?php
$download = $_GET['d'];
header('Content-type: image/jpg');
header('Content-Disposition: attachment; filename="'.$download.'"');
readfile($download);
?>

faktycznie - nie sprawdziłem, czy się później otwiera :]
Poprawiłem też w moim przykładzie, więc możesz sobie sprawdzić :]

Pozdrawiam
lapti

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs

______________________________________________________________________
Wynajem koparek
Wynajem koparki - poradnik budowlany

[size=150]pomogłem Ci -> pajacyk.pl i wszystko jasne[/size]
Awatar użytkownika
lapti
 
Posty: 576
Rejestracja: 04 Lis 2009

 
Kurcze, nie chce u mnie działać. Mogę coś robić nie tak?

Zapisuję ten plik.php, u mnie nazywa się dl.php. Zmieniłem kod html - jest identyczny z tym co na przykładzie.

Mimo to ciągle nie widać u mnie tego obrazka po zapisaniu. Na przykładzie natomiast jest wszystko OK. Sorry, że tak zawracam cały czas gitarę...

Twoja darmowa bramka sms - wysyłaj sms-y za free.
Naprawdę łatwy zarobek w zasięgu Twojej ręki.
Awatar użytkownika
MichaelloClass
 
Posty: 151
Rejestracja: 29 Sty 2010
Miejscowość: Łódź

UWAGA NA BŁĘDY!

Postprzez lapti 13 Mar 2010, o 15:27

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
Pomogę Ci bardzo chętnie, ale musisz mi podać jaką masz strukturę katalogów. Czy plik php jest w tym samym miejscu, co pliki graficzne?
Jeżeli nie, to trzeba trochę dziada zmodyfikować :]

W tej wersji działa to w ten sposób
plik html - w dowolnym miejscu
plik php w miejscu, gdzie masz plik graficzny (w tym samym katalogu). Inaczej będziesz musiał podawać również ścieżki dostępu do plików graficznych, co jest proste do zrobienia.
Robisz drugi parametr w linku, powiedzmy p i w pliku php robisz taki mykens, że:
jeżeli p = 1 to ścieżka katalog1/grafika/darmowa,
jeżeli p = 2 to ścieżka katalog1/grafika/darmowa/gry/mario
itd...

Dodatkowo w tym momencie masz dziurę wywołaną tym plikiem, bo udało mi się pobrać plik php z Twojego serwera. Musisz zrobić zabezpieczenie. Proponuje zmienić plik w ten sposób:
Kod: Zaznacz wszystko
<?php
$download = $_GET['d'];
$odczyt = pathinfo($download);
$ext = $odczyt['extension'];

if($ext == "gif" or $ext == "jpg") {
header('Content-type: image/jpg');
header('Content-Disposition: attachment; filename="'.$download.'"');
readfile($download);
}
else
{ echo "nie można pobrać pliku";}
?>

Po przeanalizowaniu Twojego pliku php zauważyłem, że masz darmowy hosting i Twój dostawca dokleja dodatkowo jakieś statystyki na końcu pliku. Być może to też jest przyczyną Twoich problemów.
Zresztą nie ma co zgadywać. Odpiszesz to będziemy działać dalej.

Pozdrawiam
lapti

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs

______________________________________________________________________
Wynajem koparek
Wynajem koparki - poradnik budowlany

[size=150]pomogłem Ci -> pajacyk.pl i wszystko jasne[/size]
Awatar użytkownika
lapti
 
Posty: 576
Rejestracja: 04 Lis 2009

 
Przedstawiam moje rozwiązanie - uwzględnia rozszerzenie plików dlatego nie ma cyrków przy różnych typach plików

Kod: Zaznacz wszystko
   $p = "plik.jpg"; // czyli do zmiennej $p musi się wpisywać plik do pobrania ten jpg to przykład
if(ini_get('zlib.output_compression'))
  ini_set('zlib.output_compression', 'Off');
$file_extension = strtolower(substr(strrchr($p,"."),1));
switch( $file_extension )
{
  case "pdf": $ctype="application/pdf"; break;
  case "exe": $ctype="application/octet-stream"; break;
  case "rar": $ctype="application/rar"; break;
  case "zip": $ctype="application/zip"; break;
  case "docx":
  case "doc": $ctype="application/msword"; break;
  case "xlsx":
  case "xls": $ctype="application/vnd.ms-excel"; break;
  case "pptx":
  case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  case "gif": $ctype="image/gif"; break;
  case "png": $ctype="image/png"; break;
  case "jpeg":
  case "jpg": $ctype="image/jpg"; break;
  default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($p)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($p));
readfile("$p");
exit();


Pisząc to dosyć dawno temu wzorowałem się na jakimś rozwiązaniu z neta więc jeśli znajdziecie coś podobnego bardzo to oczywiście nie zaprzeczę, że nie jest to w 100% moja robota.

Pamiętaj aby filtrować pliki, które przekazujesz metodą GET czy POST do pobrania żeby nie doszło do tego, że np. ktoś pobierze dowolny plik PHP wpisując go w adresie itp.

Bartek Medoń - WebMaster, programista WWW. Popraw sobie humor oglądając najlepsze polskie kabarety
Awatar użytkownika
bartekmedon
 
Posty: 718
Rejestracja: 12 Cze 2009

No to może tak?

Postprzez lapti 13 Mar 2010, o 16:40

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
bartekmedon napisał(a):readfile("$p");
Tutaj chyba masz niepotrzebnie " ".
Ten przykład jest podany w specyfikacji header (mój pierwszy post).

bartekmedon napisał(a):Pamiętaj aby filtrować pliki,
No właśnie to rozwiązałem w ostatnim podejściu...

W połączeniu obu pomysłów proponuje coś takiego:
Kod: Zaznacz wszystko
<?php
$download = $_GET['d'];
$odczyt = pathinfo($download);
$ext =  strtolower($odczyt['extension']);

if($ext == "gif" or $ext == "jpg" or $ext == "jpeg" or $ext == "png" ) {
switch ($ext)
{
  case "png": $ctype="image/png"; break;
  case "jpeg":
  case "jpg": $ctype="image/jpg"; break;
  case "gif": $ctype="image/gif"; break;
  default: $ctype="application/force-download";
}
header('Content-type: '.$ctype);
header('Content-Disposition: attachment; filename="'.$download.'"');
readfile($download);
}
else
{ echo "nie można pobrać pliku";}
?>


bartekmedon napisał(a):$file_extension = strtolower(substr(strrchr($p,"."),1));

Dodatkowo Twój pomysł Bartku ma wg. mnie wadę, iż nie radzi sobie z: bardzo.fajnymi.nazwami.jpg

Wprowadziłem poprawki w moim przykładzie.

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs

______________________________________________________________________
Wynajem koparek
Wynajem koparki - poradnik budowlany

[size=150]pomogłem Ci -> pajacyk.pl i wszystko jasne[/size]
Awatar użytkownika
lapti
 
Posty: 576
Rejestracja: 04 Lis 2009

Re: No to może tak?

Postprzez bartekmedon 13 Mar 2010, o 16:45

  • Poinformuj znajomych na Facebook-u o tym wątku
  • Poinformuj innych ludzi na Wykopie o tym wątku
  • Poinformuj znajomych na Twitter-ze o tym wątku
  • Poinformuj znajomych na Blip-ie o tym wątku
  • Poinformuj znajomych na Buzz-ie o tym wątku
  • Poinformuj znajomych na GG o tym wątku
 
lapti napisał(a):Tutaj chyba masz niepotrzebnie " ".

No nie jest potrzebne - bezsensowna konwersja stringa

lapti napisał(a):Dodatkowo Twój pomysł Bartku ma wg. mnie wadę, iż nie radzi sobie z: bardzo.fajnymi.nazwami.jpg

Radzi sobie radzi :)

Bartek Medoń - WebMaster, programista WWW. Popraw sobie humor oglądając najlepsze polskie kabarety
Awatar użytkownika
bartekmedon
 
Posty: 718
Rejestracja: 12 Cze 2009

 
bartekmedon napisał(a):Radzi sobie radzi :)

Faktycznie, jak wpisałem prawidłowo nazwę pliku (zjadłem wcześniej .) to sobie radzi. Sorry za pomówienie :P

Simple guy from IT department
ʇuǝɯʇɹɐdǝp ʇı ɯoɹɟ ʎnƃ ǝldɯıs

______________________________________________________________________
Wynajem koparek
Wynajem koparki - poradnik budowlany

[size=150]pomogłem Ci -> pajacyk.pl i wszystko jasne[/size]
Awatar użytkownika
lapti
 
Posty: 576
Rejestracja: 04 Lis 2009

Następna

Wróć do Tworzenie stron

Kto jest na forum

Użytkownicy przeglądający to forum: Bing [Bot] oraz 1 gość