quote:Op woensdag 7 november 2007 14:07 schreef Geqxon het volgende:
[ code verwijderd ]
Wat ik zoek: Als ik mijn PHP pagina oproep (get.php?filename=CV&extension=pdf), dan wil ik de PDF graag in de browser zelf geopend krijgen. Door aan te geven dat het een PDF-file is, en vervolgens een readfile op de desbetreffende PDF-file uit te voeren, lukt dat nu.
Wat mij niet lukt: Dat mensen het zien als "CV.pdf", in plaats van "get.php?filename=CV&extension=pdf". Dat kan met bovenstaande header, maar doordat hij het als attachement doorgeeft kan ik de PDF niet meer in de browser openen.
Is dit mogelijk? Dus én bovenstaande header (custom filename), én het PDF bestand in de browser zelf kunnen openen?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | class mimetype { function getType($filename) { // get base name of the filename provided by user $filename = basename($filename); // break file into parts seperated by . $filename = explode('.', $filename); // take the last part of the file to get the file extension $filename = $filename[count($filename)-1]; // find mime type return $this->privFindType($filename); } function privFindType($ext) { // create mimetypes array $mimetypes = $this->privBuildMimeArray(); // return mime type for extension if (isset($mimetypes[$ext])) { return $mimetypes[$ext]; // if the extension wasn't found return octet-stream } else { return 'application/octet-stream'; } } function privBuildMimeArray() { return array( "ez" => "application/andrew-inset", "hqx" => "application/mac-binhex40", "cpt" => "application/mac-compactpro", "doc" => "application/msword", "bin" => "application/octet-stream", "dms" => "application/octet-stream", "lha" => "application/octet-stream", "lzh" => "application/octet-stream", "exe" => "application/octet-stream", "class" => "application/octet-stream", "so" => "application/octet-stream", "dll" => "application/octet-stream", "oda" => "application/oda", "pdf" => "application/pdf", "ai" => "application/postscript", "eps" => "application/postscript", "ps" => "application/postscript", "smi" => "application/smil", "smil" => "application/smil", "wbxml" => "application/vnd.wap.wbxml", "wmlc" => "application/vnd.wap.wmlc", "wmlsc" => "application/vnd.wap.wmlscriptc", "bcpio" => "application/x-bcpio", "vcd" => "application/x-cdlink", "pgn" => "application/x-chess-pgn", "cpio" => "application/x-cpio", "csh" => "application/x-csh", "dcr" => "application/x-director", "dir" => "application/x-director", "dxr" => "application/x-director", "dvi" => "application/x-dvi", "spl" => "application/x-futuresplash", "gtar" => "application/x-gtar", "hdf" => "application/x-hdf", "js" => "application/x-javascript", "skp" => "application/x-koan", "skd" => "application/x-koan", "skt" => "application/x-koan", "skm" => "application/x-koan", "latex" => "application/x-latex", "nc" => "application/x-netcdf", "cdf" => "application/x-netcdf", "sh" => "application/x-sh", "shar" => "application/x-shar", "swf" => "application/x-shockwave-flash", "sit" => "application/x-stuffit", "sv4cpio" => "application/x-sv4cpio", "sv4crc" => "application/x-sv4crc", "tar" => "application/x-tar", "tcl" => "application/x-tcl", "tex" => "application/x-tex", "texinfo" => "application/x-texinfo", "texi" => "application/x-texinfo", "t" => "application/x-troff", "tr" => "application/x-troff", "roff" => "application/x-troff", "man" => "application/x-troff-man", "me" => "application/x-troff-me", "ms" => "application/x-troff-ms", "ustar" => "application/x-ustar", "src" => "application/x-wais-source", "xhtml" => "application/xhtml+xml", "xht" => "application/xhtml+xml", "zip" => "application/zip", "au" => "audio/basic", "snd" => "audio/basic", "mid" => "audio/midi", "midi" => "audio/midi", "kar" => "audio/midi", "mpga" => "audio/mpeg", "mp2" => "audio/mpeg", "mp3" => "audio/mpeg", "aif" => "audio/x-aiff", "aiff" => "audio/x-aiff", "aifc" => "audio/x-aiff", "m3u" => "audio/x-mpegurl", "ram" => "audio/x-pn-realaudio", "rm" => "audio/x-pn-realaudio", "rpm" => "audio/x-pn-realaudio-plugin", "ra" => "audio/x-realaudio", "wav" => "audio/x-wav", "pdb" => "chemical/x-pdb", "xyz" => "chemical/x-xyz", "bmp" => "image/bmp", "gif" => "image/gif", "ief" => "image/ief", "jpeg" => "image/jpeg", "jpg" => "image/jpeg", "jpe" => "image/jpeg", "png" => "image/png", "tiff" => "image/tiff", "tif" => "image/tif", "djvu" => "image/vnd.djvu", "djv" => "image/vnd.djvu", "wbmp" => "image/vnd.wap.wbmp", "ras" => "image/x-cmu-raster", "pnm" => "image/x-portable-anymap", "pbm" => "image/x-portable-bitmap", "pgm" => "image/x-portable-graymap", "ppm" => "image/x-portable-pixmap", "rgb" => "image/x-rgb", "xbm" => "image/x-xbitmap", "xpm" => "image/x-xpixmap", "xwd" => "image/x-windowdump", "igs" => "model/iges", "iges" => "model/iges", "msh" => "model/mesh", "mesh" => "model/mesh", "silo" => "model/mesh", "wrl" => "model/vrml", "vrml" => "model/vrml", "css" => "text/css", "html" => "text/html", "htm" => "text/html", "asc" => "text/plain", "txt" => "text/plain", "rtx" => "text/richtext", "rtf" => "text/rtf", "sgml" => "text/sgml", "sgm" => "text/sgml", "tsv" => "text/tab-seperated-values", "wml" => "text/vnd.wap.wml", "wmls" => "text/vnd.wap.wmlscript", "etx" => "text/x-setext", "xml" => "text/xml", "xsl" => "text/xml", "mpeg" => "video/mpeg", "mpg" => "video/mpeg", "mpe" => "video/mpeg", "qt" => "video/quicktime", "mov" => "video/quicktime", "mxu" => "video/vnd.mpegurl", "avi" => "video/x-msvideo", "movie" => "video/x-sgi-movie", "ice" => "x-conference-xcooltalk" ); } } $mimetype = new mimetype; header('Content-type: ' . $mimetype->getType($file_name)); header('Content-Disposition: attachment; filename="' . $file_name . '"'); die(file_get_contents($file_name)); ?> |
| 1 2 3 | header('Content-Disposition: inline; filename="' . $file_name . '"'); ?> |
thanks!quote:Op dinsdag 6 november 2007 22:31 schreef beerten het volgende:
[knip]
Is het anders een optie mod_rewrite te gebruiken? De gebruiker surft dan bijvoorbeeld naar somepage.tld/yourfile.ext, en gaat dan intern naar somepage.tld/get.php?filename=yourfile&extension=ext.quote:Op woensdag 7 november 2007 14:26 schreef Geqxon het volgende:
Niet exactly wat ik zoek. Helaas is het niet mogelijk, las ik op Google.
[ code verwijderd ]
Dit zou perfect zijn, maar gaat helaas niet. Jammer
| 1 2 3 | Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:Program FilesxampphtdocsTESTcontact.php on line 108 ?> |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | // geef e-mail adres op van ontvanger $mail_ontv = "mijn@emailadres.nl"; // is niet 100% !!! function checkmail($mail) { $email_host = explode("@", $mail); $email_host = $email_host['1']; $email_resolved = gethostbyname($email_host); if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) $valid = 1; return $valid; } // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp'])) { if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp'])) { echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>"; } // form + tabel echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">"; // naam echo "<tr><td>Naam:</td></tr>"; echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>"; // space echo "<tr><td> </td></tr>"; echo "<tr><td>E-mail adres:</td></tr>"; echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>"; // space echo "<tr><td> </td></tr>"; echo "<tr><td>Onderwerp:</td></tr>"; echo "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>"; // space echo "<tr><td> </td></tr>"; echo "<tr><td>Bericht:</td></tr>"; echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>"; // space echo "<tr><td> </td></tr>"; // button echo "<tr><td> </td></tr>"; echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>"; // sluit form + tabel echo "</form>"; echo "</table>"; } // versturen naar else { // set datum $datum = date("d.m.Y H:i"); // set ip $ip = $_SERVER['REMOTE_ADDR']; $inhoud_mail = "===================================================\n"; $inhoud_mail .= "Ingevulde contact formulier\n"; $inhoud_mail .= "===================================================\n\n"; $inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n"; $inhoud_mail .= "Naam: " . $_POST['naam'] . "\n"; $inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n"; $inhoud_mail .= "Bericht:\n"; $inhoud_mail .= $_POST['msggs'] . "\n\n"; $inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n"; $inhoud_mail .= "===================================================\n\n"; // -------------------- // spambot protectie // ------ // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/ // ------ $headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">"; $headers = stripslashes($headers); $headers = str_replace("\n", "", $headers); // Verwijder \n $headers = str_replace("\r", "", $headers); // Verwijder \r $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes $_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n $_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers); echo "<h1>Je e-mail is verstuurd</h1>"; echo "<p>Bedankt voor het versturen van een e-mail. Je zult snel een antwoord "; echo "krijgen indien dit nodig is.</p>"; echo "<p>We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie "; echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</p>"; } ?> |
Right, ik zat al te kijken naar dat IPN. Ik denk dat ik zelf een winkelwagen ga bouwen in ieder geval en dan gebruik maak van de mogelijkheid om de inhoud te uploaden naar PayPal. Ik zat alleen nog te kijken hoe je dan kon controleren of de betaling daadwerkelijk gedaan was zodat de order verwerkt kan worden.quote:Op vrijdag 9 november 2007 15:23 schreef Chandler het volgende:
Kun je hier wat mee? http://www.web-bureau.com/modules/free-php-paypal-ipn-script.php
Hmja, dan krijg je voor elk product een knopje "add to cart" van PayPal. Maar ik wil ook nog een andere betalingswijze aanbieden. Dus werk liever eerst "lokaal" met een karretje en als men kiest om via paypal te betalen dan wordt dat karretje geuploaded.quote:
| 1 2 3 4 5 | $conn = odbc_connect ( "S&S Webfile", "", ""); $sql = "SELECT * FROM BAC5130 WHERE Nr = 100741"; $rs = odbc_exec( $conn, $sql ); ?> |
http://nl2.php.net/manual/nl/function.odbc-fetch-array.php ?quote:Op zaterdag 10 november 2007 18:55 schreef wobbel het volgende:
Sjongejonge wat een geouwehoer met ODBC zeg....
[ code verwijderd ]
Maar hoe gebruik ik de data uit $rs nou? ik wil namelijk net zoals mysql_fetch_assoc enzo de data kunnen gebruiken om $assoc->Naam en $assoc->Telefoonnummer te kunnen gebruiken...maar hoe werkt dat in ODBC?
Nee, maar het kan wel met setlocale()quote:Op zondag 11 november 2007 16:36 schreef Chandler het volgende:
Is het ook mogelijk om bij date_format nederlandse maanden te krijgen ipv engelse?
dus ipv February ==> Februari
Volgens de rule moet de url beginnen mer "reports", maar hij begint met "/reports".quote:Op zondag 11 november 2007 16:36 schreef Chandler het volgende:
RewriteRule ^reports/([0-9])-([0-9])/(.*).html$ /index.php?mod=reports&id=$1&page=$2
werkt niet, wil de volgende url omzetten.
/reports/1-1/titel_van_de_pagina.html
ziet iemand de fout?
quote:Op zondag 11 november 2007 16:36 schreef Chandler het volgende:
En dan nog een andere kleine vraag over htaccess.
RewriteRule ^reports/([0-9])-([0-9])/(.*).html$ /index.php?mod=reports&id=$1&page=$2
werkt niet, wil de volgende url omzetten.
/reports/1-1/titel_van_de_pagina.html
ziet iemand de fout?
| 1 |
Jammer eingelijkquote:Op zondag 11 november 2007 17:02 schreef SuperRembo het volgende:
Nee, maar het kan wel met setlocale()
[ code verwijderd ]
Dat is het probleem nietquote:Op zondag 11 november 2007 17:05 schreef SuperRembo het volgende:
Volgens de rule moet de url beginnen mer "reports", maar hij begint met "/reports".
Report 1, pagina 1quote:Op zondag 11 november 2007 17:11 schreef Thomass het volgende:
[ code verwijderd ]
zoiets wellicht? tis niet helemaal duidelijk of de id 1-1 is of dat id=1 en page=1 snapje
| 1 |
Iemand?quote:Op donderdag 8 november 2007 17:07 schreef wc-eend het volgende:
Ok mensen, ik heb een probleem met een script dat ik van hier heb.. Als ik hem opsla als php (mbv dreamweaver) en dan view ik het bestand mbv Xampp..
Het ziet er netjes uit, maar als ik het form invul en op verstuur druk krijg ik dit:
[ code verwijderd ]
Ik heb in het php.ini bestand (die in xampp/apache/bin staat) de smtp instellingen al gewijzigd en ook in het php.ini bestand in xampp/php
Nu lijkt het alsof de fout in de code zelf zit maar dat kan ik niet vinden (ben nog een echte noob) Weet iemand hier iets over?
Dit is de code:
[ code verwijderd ]
Nee, die is alleen maar liev voor googlequote:Op zondag 11 november 2007 17:34 schreef Thomass het volgende:
Dus titel-van-de-pagina is niet relevant?
Wellicht zoiets
[ code verwijderd ]
Staat er eventeel een php.ini in je windows directory? dat wil ook nog wel eens voorkomenquote:Op zondag 11 november 2007 18:16 schreef wc-eend het volgende:
Iemand?
Ik heb vista een grondige search naar php.ini laten zoeken, 4 results, in alle 4 veranderd en nu werkt het.. wrom kwam ik daar zelf niet opquote:Op zondag 11 november 2007 19:19 schreef Chandler het volgende:
[..]
Staat er eventeel een php.ini in je windows directory? dat wil ook nog wel eens voorkomen
Wil de echt php.ini nu opstaanquote:Op zondag 11 november 2007 19:38 schreef wc-eend het volgende:
[..]
Ik heb vista een grondige search naar php.ini laten zoeken, 4 results, in alle 4 veranderd en nu werkt het.. wrom kwam ik daar zelf niet op
Ziet er voor een simpele pagina strak uit.quote:Op maandag 12 november 2007 00:07 schreef no1uknow het volgende:
http://rtc.x10hosting.com/pvhw/
Mijn eerste echte beetje php/sql website
Heb je al eens op edt geklikt?quote:Op maandag 12 november 2007 00:26 schreef no1uknow het volgende:
Bij de weg, als ik iets in een tabel wil veranderen (de content van de desbetreffende pagina) en ik klik op start (is dus in PHPMyAdmin) dan doet 'ie soms NIKS.
Dan staat er gewoon
SQL-query:
SELECT *
FROM `teksten`
LIMIT 0 , 30
Wat moet ik hier nou meeHoezo kan dit? hoe kan ik dit oplossen?
Oh shit vergeten.quote:Op maandag 12 november 2007 00:57 schreef WyriHaximus het volgende:
[..]
Heb je al eens op edt geklikt?
voer je wel een Update query of insert query uit?quote:Op maandag 12 november 2007 01:06 schreef no1uknow het volgende:
[..]
Oh shit vergeten.
Maar even zonder dollen, ik zit die inhoud te editen, klik op start om de wijzigingen door te voeren, en dan krijg je dat SQL Query blabla weer, en niet daaronder de wijzingingen die daar wel hadden moeten staan.
| 1 2 3 4 5 6 7 8 9 10 | $query = "SELECT id,title,datum FROM meeting_categories WHERE online='1' ORDER BY time_code DESC"; $result = mysql_query($query)or die(mysql_error()); While($cats = mysql_fetch_array($result)) { $query2 = "SELECT id FROM meeting_images WHERE categorie ='$cats[id]' "; $max = mysql_num_rows(mysql_query($query2)); echo '<a href="?cat='. $cat.'">'.stripslashes(stripslashes($cats[title])).'</a> '.$cats[datum].' ('.$max.')<br>'; } ?> |
| 1 2 3 | $query2 = "SELECT id FROM meeting_images WHERE categorie =' " . $cats[id] . "' "; ?> |
Dat volg ik dan weer even niet, maargoed.quote:Op maandag 12 november 2007 10:14 schreef Tuvai.net het volgende:
Wat is je tabel indeling/structuur? En sowieso, probeer je aan te leren om met tabellen als deze met bijvoorbeeld ID velden te werken in plaats van alle werk op varchar en text te gooien. Maak een veldje pag_id aan of zo.
Je indeling ziet er nu ongeveer zo uit:quote:Op maandag 12 november 2007 14:55 schreef no1uknow het volgende:
[..]
Dat volg ik dan weer even niet, maargoed.
Het was al opgelost, Geqxon heeft me geholpen door gewoon handmatig de SQL Querie te 'maken'.
UPDATE teksten SET inhoud 'blabla' where (iets) = (de desbetreffende pagina)
Zoiets was het.
Nog wel bedankt voor de moeite ^O^
| 1 2 3 4 5 6 | -------------------- pag 1 | tekst 1 pag 2 | tekst 2 pag 3 | tekst 3 pag 4 | tekst 4 |
| 1 2 3 4 5 6 | ------------------------ 1 | pag 1 | tekst 1 2 | pag 2 | tekst 2 3 | pag 3 | tekst 3 4 | pag 4 | tekst 4 |
Misschien helpt het als je een index maakt op de juiste kolommen?quote:Op maandag 12 november 2007 14:01 schreef Darkomen het volgende:
ik heb een probleempje met de onderstaande code, hij werkt wel maar het duurt 12 seconden voordat de boel geladen is.
Haal alles binnen met 1 query dmv een JOIN.quote:Op maandag 12 november 2007 14:01 schreef Darkomen het volgende:
ik heb een probleempje met de onderstaande code, hij werkt wel maar het duurt 12 seconden voordat de boel geladen is.
De meeting_categories is maar 2,9 KB met 15 records
meeting_images 120,4 MB met 2.446 en 308.152 Bytes overhed (images staan in de db opgeslagen ipv op de server.
Hoe kan ik dit sneller krijgen zonder de images uit de db te gooien (dat ga ik namelijk later pas doen) maar heb ff een quick fix nodig.
[ code verwijderd ]
| 1 2 3 4 5 6 7 8 9 10 11 | meeting_categories.id as catId, meeting_categories.title as catTitle, meeting_categories.datum as catDate, meeting_image.id as imageId FROM meeting_categories LEFT JOIN meeting_images ON meeting_images.categorie = meeting_category.id |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |