16. juni 2010 - 20:04Der er
7 kommentarer og 1 løsning
Vis PDF fil med PHP, javascript og Ajax
Jeg har en html side der lister en masse pdf filer som jeg man skal kunne se ved klik på filen. pdf filerne ligger på en extern disk som er mounted på apache serveren og som brugeren ikke har adgang til. Jeg har fået php siden til at virke med denne kode hvis den køres alene (direkte):
MEN jeg skal have det til at virke fra min hoved side hvor jeg har et link og et javacript med:
function VisPDF(str) { var ordrenr = str.id; var url="ressourcer/Vispdf.php?ordre="+ordrenr; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=statevispdf; //alert("URL: "+url) xmlHttp.open("GET",url,true); xmlHttp.send(null); }
function statevispdf() { if (xmlHttp.readyState==4) { if(xmlHttp.status == 200) { //alert("Vi er nu i svaret") document.getElementById("Bund").innerHTML = xmlHttp.responseText; //document.getElementById("adexpl").src= xmlHttp.responseText; } else { // udsted en fejlmeddelelse for alle andre HTTP-svar alert("En fejl er opstået: " + xmlHttp.statusText); } } }
OG DET VIRKER IKKE SOM DET SKAL, for jeg får koden fra pdf filen vist i stedet for "billedet" uanset om jeg bruger src eller ej.
HVAD GØR JEG FORKERT og hvordan får jeg vist selve pdf filen som et billed (lige som i acrobat)
ja, hoved siden med javascriptet kører på brugerens maskine og det er jo brugeren der skal se pdf filen. jeg har 2 php sider der kører på serverren. den første finder og lister alle pdf filerne som numre og dette virker perfekt. den anden skulle så vise den enkelte pdf fil ved klik. koden til at finde og vise pdf filen køre ok hvis jeg kalder den direkte (vispdf.php?ordrenr=123456, men når jeg kalder den via javascriptet (ajax) vises koden fra filen og ikke billedet af filen. som her: %PDF-1.4 %���� 4 0 obj <>stream H�l��n�0ǥy�9�����|L6I�$[�Y����Ed�h0����w�3��1�mEHx�c��/Ϻ�1�������[~�p(�w�y�����ѧ�3�1p�`E)d����=Y���[�[���/���.�����!�( ;�3M����OUi�K������+���B���4.&b�Z2Z�К;u!2�&I�U�`e5�I�A��S��}7�$�FKZ(�X�)YB��b!v�?�=p-4�!�Yʿ������$q�]$Ex8�ƙ;JJA�����L��\�O�g���n��K���‚�U]
lige en ting mere: om filen vises i scr (images) eller om acrobat åbnes og viser pdf filen er faktisk ikke vigtigt, da alle mine brugere har acrobat reader installeret.
Du har da helt ret, det kan sagtens være et alm href - det har jeg lige prøvet og det virker selvfølgelig som det skal. - nogle gange er løsningen lige foran og man kan ikke se den. tak for hjælpen. smider du et svar ?
En lille ekstra kommentar; husk når du laver et link til vispdf.php?ordrenr=123456 så vær sikker på, at brugeren har tilladelse til at se det ordrenr der henvises til.
Den kode du har vist til 'vispdf.php' antyder at man bare kan taste et ID nummer ind, og så får man vist PDF'en. Det er nemt lige at ændre nummeret, især hvis det bare løber fra 1 og op.
Du har ret, men her er det ikke så vigtigt, da det er på vores lukket intranet og alle må se alle de filer der findes hvis de vil. Jeg lukker sagen som løst
Synes godt om
Ny brugerNybegynder
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.