Autor | Zpráva | ||
---|---|---|---|
Ulet Profil * |
#1 · Zasláno: 19. 1. 2012, 13:36:11 · Upravil/a: Moderátor (editace znemožněna) 19. 1. 2012, 14:47:12
Dobrý den,
již nějakou dobu bez úpěchu zkouzším najít jak dostat z ftp obrázek na web jedna z cest je <img src='ftp://$uzivatelske_jmeno:$heslo@$adresa_ftp'> má to ovšem dost zásadní nevýhodu a to že každý návštěvník stránky má v kódu jmeno a heslo.
Pomocí $connection = ftp_connect('$adresa_ftp'); $login = ftp_login($connection, $uzivatelske_jmeno, $heslo); Díky |
||
panther Profil |
#2 · Zasláno: 19. 1. 2012, 13:51:30
Ulet:
nechápu, oč přesně jde. Je-li obrázek umístěn na serveru (a tedy dostupný na FTP), je dostupný skrze nějaké umístění na webu. Co ti brání adresovat jej nějak normálně? |
||
Ugo Profil |
#3 · Zasláno: 19. 1. 2012, 14:00:45
panther:
může to bát zcela jiné FTP kam navíc není anonymní přístup Ulet: 1. stáhni ho k sobě na server - ftp_get($this->_link,$dst,$src,FTP_BINARY); , otevři a odešli se správnými hlavičkami prohlížeči (nebo rovnou vlož svuj link do src 2. mělo by to jít socketovými funkcemi, nastavit připojení přes ftp a rovnou ze serveru stáhnout skrze file_get_contents() |
||
Ulet Profil * |
#4 · Zasláno: 19. 1. 2012, 14:18:31
panther:
Ano je na FTP ale bohužel tam není anonimní přístup tudíž bych do adresy v src= musel napsat už. jméno i heslo což samozřejmě nechci. (viz můj první příspěvek) Ugo: No stáhnout ho k sobě na server je řešení ale stahovat každý se mě zdá zbytečné jde jen o jeho zobrazení mám v databázi jeho lokální adresu (třeba U:/Obrázek.png) bohužel web je na jiném serveru než tento disk U:/ (tudíž jsem z danného disku U:/ udělal FTP). Je to jediné co mě napadlo jako řešení. Mrknu ještě co umí tak funkce file_get_contents() Díky |
||
Ugo Profil |
#5 · Zasláno: 19. 1. 2012, 14:21:18
jestliže je na tvém serveru kam se dostaneš, tak to nemusíš řešit přes FTP, ale řekni to PHPku rovnou ať si ho veme z disku U, apache (php) nemá oprávnění jen do rootu .. nenastaví-li se jinak samozřejmě :) ještě by bylo možnost udělat např. symlink (odkaz) na ftp adresář v místě, kam se dostaneš
|
||
Ulet Profil * |
#6 · Zasláno: 19. 1. 2012, 14:30:38
Asi to pořád špatně vysvětluji :-)
Jsou dva servery: První server na kterém web běží: apache, php, mysql zde umístěné obrázky na které jsou odkazy v mysql zobrazím bez problémů, na tomto serveru je php hledá když mu zadám cestu Druhý server kde běží: mssql, a je zde adresář s obrázky na disku U k databázi se externě připojím a najdu tam třeba odkaz U:/obr.png tuto adresu od img napsat nemůžu protože ji hledá na serveru prvním |
||
Ugo Profil |
#7 · Zasláno: 19. 1. 2012, 15:06:38
ještě takové lehké řešení, kvůli IE by bylo třeba přejmenovat php->png atp.
<?php //include('debugger.php'); //header('Content-type:image/html; charset=UTF-8'); $_GET['obr']="htdocs/test/radio.png"; header('Content-type:image/png'); echo file_get_contents('ftp://ugo:ugo@localhost:666/'.$_GET['obr']); zobrazení pak <img src="obrazek.php?obr=test/image.png"?>
|
||
Ulet Profil * |
#8 · Zasláno: 19. 1. 2012, 15:36:48
Super diky tohle jsem potreboval
|
||
Časová prodleva: 12 dní
|
|||
Ulet Profil * |
#9 · Zasláno: 31. 1. 2012, 21:24:00
Ugo:
Ještě s k tomu musím vrátit sorry ale nezadařilo se ;-) Tohle mi sice vypíše obrázek tak jak bych si ho představoval ale už k němu nemohu na dannou stránku dát jiný obsah než obrázek dá se nějak definovat ten header jen pro ten danný file_get_contetnts? header('Content-type:image/png'); echo file_get_contents('ftp://web:SSL3686a@77.240.182.190/Foto/FGS 50 CNC B - 120029/1.jpg'); |
||
Ugo Profil |
#10 · Zasláno: 1. 2. 2012, 07:47:11
myslel sem to tak, že ten header a echo bude jediný kód v tom souboru, když si ho pak prohlížeč načte do obrázku, neovlivní to hlavičky celku.
|
||
Ulet Profil * |
#11 · Zasláno: 1. 2. 2012, 08:03:37
Jo takhle díky moc super reseni ;-) uz funguje
|
||
Časová prodleva: 12 let
|
0