Avatar billede cronick Nybegynder
25. juni 2006 - 00:40 Der er 10 kommentarer og
1 løsning

Hvis billede finde (med url)

Hej,
jeg er stødt på dette irriterende problem. Jeg har lavet følgende kode:
----------
$fil = 0;
while ($fil <= 2000) {
$fil++;
$filnavn = "http://hhsrv.n.dk/chat/gfx/actors/white/boy/clothes/$fil.gif";
if(file_exists($filnavn)) {
echo "<img src=$filnavn> ";
}
}
----------

- Problemet er at den ikke viser billedet, selvom det rent faktisk findes. Nogen der kan hjælpe?

På forhånd tak..
Avatar billede mclemens Nybegynder
25. juni 2006 - 00:46 #1
Uhm, nu kan du kun måle med php file_exists på din egen server
- så hvis du har scriptet læggende på: hhsrv.n.dk burde det virke...
- ellers så prøv med et kald på den relative sti til filen som:
"./chat/gfx/actors/white/boy/clothes/$fil.gif"; // f.eks???
Avatar billede cronick Nybegynder
25. juni 2006 - 00:49 #2
Det er billeder liggende på en anden server..
Avatar billede mclemens Nybegynder
25. juni 2006 - 00:52 #3
http://dk.php.net/manual/da/function.file-exists.php
-> http://dk.php.net/manual/da/wrappers.php
-> http://dk.php.net/manual/da/function.fopen.php ... Måske?
- Du belaster dog din server meget ved at gøre det ...
... men så kan du checke om filen eksisterer ved at forsøge at hente den...
- Bemærk dog at du skal have tilladelse til deeplinking af billeder m.v...
(ellers er du ude i noget forkert noget - og endelig hvis du får/har tilladelse
er der ikke grund til at måle med fopen - da de så har en liste / bør have en liste...)

- Hvis de ikke har en liste og du godt må så find ud af hvad
filer der eksisterer og konfigurer scriptet så det matcher op ...
Avatar billede mclemens Nybegynder
25. juni 2006 - 00:56 #4
Men, hvis du ikke har tilladelse til bandwidth-theft (stjælning af båndbredde på serveren) / deeplinking (link til dybere liggende filer) / copyright infridgment (tilladelse til visning af billeder på dit site) så brems! - og få tilladelsen før du går videre ... (vil bare give dig rådet - og jah en sådan ting vil blive opdaget når dit site requester 2000 billeder i rap for hver side kald der kommer til scriptet)
Avatar billede mclemens Nybegynder
25. juni 2006 - 00:58 #5
- Dertil hvis du bare bruger img tags, så kan de også se på referer'en (som de fleste del browsere sender hvorfra billedet er blevet requested)i serverens log filer på n.dk at billeder requestes fra dit site ...
Avatar billede cronick Nybegynder
25. juni 2006 - 01:02 #6
Okay. Har dog kigget lidt på funktionen "fopen", den viser alle billeder fra 1 - 2000 også selvom de ikke findes, hvorefter der kommer fejlen "failed to open file..." ved de som ikke findes. Er det muligt at gøre, så den ikke kommer med den fejl?
Avatar billede mclemens Nybegynder
25. juni 2006 - 01:21 #7
[ Okay. Har dog kigget lidt på funktionen "fopen", den viser alle billeder fra 1 - 2000 også selvom de ikke findes, hvorefter der kommer fejlen "failed to open file..." ved de som ikke findes. Er det muligt at gøre, så den ikke kommer med den fejl? ]

... jah det kan man sikkert (jeg har aldrig brugt
crosssite-server-scripting / requests selv) ...

- Nu summerer jeg lige op:
Punkt 1: Hvis din side ikke er netstationens, skal du have tilladelse som nævnt ovenover.
Punkt 2: Når tilladelsen er iorden skal du finde ud af filernes placering og outputte <img tags istedet for at måle på om filerne eksisterer ved hver request - ellers trækker netstationen tilladelsen tilbage eller også smider din host dig af med henvisning til overdreven brug af server resourcer.

Punkt 3: Hvis du ikke kan få scriptet til at virke ordentligt (ramme filer der eksisterer uden at ramme dem der ikke gør - bemærk du skal lave et script der outputter <img tags og ikke et der kaster 2000 fopen's afsted) så må du have en tilladelse til at kopiere billederne til dit site (navngiv dem så fortløbende og definer antal gennemløb i dit script) ... hvilket også vil være den bedste løsning for både N, for din host og også for brugerne af dit site - da de ikke skal have forbindelse til den ene og den anden server.

... Men medmindre du vil ud i noget, der er ulovligt medmindre netstationen
giver / har givet dig lov anbefaler jeg at du kontakter dem og får et bevis
i form af f.eks. en e-mail /andet med accept af det ... (at andre har et site med / uden tilladelse fritager ikke dig for ansvar / straf - og en copyright netstationen eller rettigheder tilhører netstationen bløder det ikke op da du rammer disse 3 punkter:

bandwidth-theft (stjælning af båndbredde på serveren)
deeplinking (link til dybere liggende filer)
copyright infridgment (tilladelse til visning af billeder på dit site)

- Dog er bandwidth-theft og deeplinking væk når det er fra
eget site ... men det gør det ikke bedre af den grund.

... Afslutningsvis: Jeg ved ikke om du har tilladelse - jeg
ville bare gøre dig opmærksom på, at det du er ved - og det du HAR
forsøgt på: Er noget du skal have tilladelse til ... men om de
giver standard tilladelse til websites, det ved jeg ikke ...
Avatar billede mclemens Nybegynder
25. juni 2006 - 01:31 #8
Har lige kastet en krydreference til denne tråd fra en af dine tidligere - det
kan så være der er flere der lægger mærke til tråden eller måske sidder
med et php-guldkorn... (jeg er ikke god til cross-site-php...)
- http://www.eksperten.dk/spm/711496
^ Husk at bede om svar og så lukke derinde...
Avatar billede cronick Nybegynder
25. juni 2006 - 11:15 #9
Ja, tak.. Hvis du lige skriver et "svar" så får du lige dine points..
Avatar billede mclemens Nybegynder
25. juni 2006 - 11:28 #10
ok :o)
Avatar billede mclemens Nybegynder
25. juni 2006 - 12:08 #11
- Og tak for point :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester