fopen
10 отговора
202 прегледа
fopen
Здравейте,
ситуацията е следната:
Потребителя кликва върху линк от вида href=[линк]
в резултат след запитване към базата данни, трябва да се отвори съответната картинка която отговаря на това id или имам URL със файл ([линк])
Ако използвам fopen() нищо не се получава или излизат разни символи вместо картинка. Пробвах да сложа header("Content-Type: image/gif"); и това работи, но само ако веднага след него сложа и fopen("[линк]", "r");
На мен обаче ми трябва тази картинка да я сложа в таблица и тогава на първия ред в скрипта слагам header-а, след това си правя таблицата и някъде по средата на файла се опитвам да сложа картинката. Но не се получава. Пробвах и рази комбинации с readfile() но със същия успех.
Или обобщено
fopen("[линк]", "r"); // това работи
fopen("[линк]", "r"); //това не работи
с fopen могат ли да се отварят файлове през http?
проблема идва от това че не е сигурно че всички файлове които ще се отварят ще се намират на същия съръвър, а дори и да са на един и същ сървър може да са в различни директории.
Трябва ми помоща Ви.
ситуацията е следната:
Потребителя кликва върху линк от вида href=[линк]
в резултат след запитване към базата данни, трябва да се отвори съответната картинка която отговаря на това id или имам URL със файл ([линк])
Ако използвам fopen() нищо не се получава или излизат разни символи вместо картинка. Пробвах да сложа header("Content-Type: image/gif"); и това работи, но само ако веднага след него сложа и fopen("[линк]", "r");
На мен обаче ми трябва тази картинка да я сложа в таблица и тогава на първия ред в скрипта слагам header-а, след това си правя таблицата и някъде по средата на файла се опитвам да сложа картинката. Но не се получава. Пробвах и рази комбинации с readfile() но със същия успех.
Или обобщено
fopen("[линк]", "r"); // това работи
fopen("[линк]", "r"); //това не работи
с fopen могат ли да се отварят файлове през http?
проблема идва от това че не е сигурно че всички файлове които ще се отварят ще се намират на същия съръвър, а дори и да са на един и същ сървър може да са в различни директории.
Трябва ми помоща Ви.
Редактирано от $burov на
Ама чакай сега,
не разбирам, защо трябва да отваряш файла с fopen? Не може ли просто да генерираш пътя до него като текст и да го изведеш в изходното ХТМЛ?
[линк]
[линк]
Re: fopen
<? // file.php
/*
Retreiving filename and location for pic with id=12
*/
Header("Content-type:image/gif");
$imagefile=fopen($filename,"r");
fpassthru($imagefile);
fclose($imagefile);
?>
v html <img src=file.php?id=12>
tova li ti triabva ?
/*
Retreiving filename and location for pic with id=12
*/
Header("Content-type:image/gif");
$imagefile=fopen($filename,"r");
fpassthru($imagefile);
fclose($imagefile);
?>
v html <img src=file.php?id=12>
tova li ti triabva ?
Ако е картинка
Ако е картинка - може, обаче ще се отварят игри, все още незнам точно какви но нещо като флаш игри. В момента в демото отварям с <img src=file.gif> обаче само за демото съм си сложил един гифчета, иначе ще е друго.
Re: fopen
Може би това е което ми трябва, но този header малко ме притеснява. Знам, че трябва да го има, но когато го сложа в началото на файла, а пък fopen някъде навътре във скрипта - няма да стане. Идеята е че файла (картинка или игра) трябва да се отвори във таблица. Така че не мога да сложа header-a заедно с fopen някъде вътре - първо правя част от таблицата и после искам fopen
Re: Ако е картинка
ами не знам, пак ми се струва по-целесъобразно да направиш проверка за типа на файла тогава и в зависимост от нея да генерираш различен хтмл таг - <img>, <object> или каквото там трябва
. Поне аз така бих го направил 
[линк]
[линк]
Re: fopen
ama ti fopen i header go slagash na skript koito ti generira kartinka, a sami script ti e v src na image.
tablicata si e tablica, neia shte ia pravish otdelno ... a vutre kato slagash image s id, sloji toia script
tablicata si e tablica, neia shte ia pravish otdelno ... a vutre kato slagash image s id, sloji toia script
Re: fopen
бях правил нещо подобно с GD за един брояч, но въобще не се сетих за <img src=file.php?id=3>
благодаря, това май ще ми свърши работата
благодаря, това май ще ми свърши работата
btw
to stava pak i s tova fopen()
davash require (file.php);
i headera i fopen sa edno sled drugo i shte si raboti
davash require (file.php);
i headera i fopen sa edno sled drugo i shte si raboti
java & flash
Пробвах да включа някоя флаш игра и стана много лесно - само с едно include. Естествено променям и src в embed като слагам пълния път до флаш файла. Но с Java (или може би JavaScript, незнам) игрите продължавам да имам трудности. Значи играта си върви като няколко файла в една директория. Във съответния html файл има само едно вкарване на някакъв клас, а всъщност класовете са няколко. Слагам пълния път до класа, но явно другите файлове не могат да бъдат открити. Нямам опит с подобни неща (класове и т.н.) и може би не се прави така, но отворих този клас в Notepad и нищо не можеше да се проче. А предполагам че някъде вътре в него се включват и другите файлчета. С какво да го отворя и да го редактирам?
Re: java & flash
Такаааа... Не съм 100% разбрал как го правиш, но - Жава игрите /*със сигурност е Жава, а не Жаваскрипт, щом са класове*/, наистина имаш проблем. Ако зависи от тебе как точно ще влизат те, по-добре ги направи jar архиви - един jar архив съдържа в себе си всичките класове, обаче трябва да окажеш името само на джар архива, което е доста по-лесно. Освен това се сваля по-бързо.
Клас не може да прочетеш с Нотепад. Трябва ти изходния .java файл. Ако нямаш достъп до .java файловете, може да използваш DJ Java Decompiler /*пусни сърч за него, не знам адрес, но е българска програмата*/, за да декомпилираш .class файловете до .java файлове. Обаче след като нанесеш корекции, ще трябва да ги компилираш наново.
It`s more fun to compute
[линк]
Клас не може да прочетеш с Нотепад. Трябва ти изходния .java файл. Ако нямаш достъп до .java файловете, може да използваш DJ Java Decompiler /*пусни сърч за него, не знам адрес, но е българска програмата*/, за да декомпилираш .class файловете до .java файлове. Обаче след като нанесеш корекции, ще трябва да ги компилираш наново.
It`s more fun to compute
[линк]