omdat ik het zo alleen gebruikquote:Op woensdag 7 mei 2008 20:40 schreef CraZaay het volgende:
[..]
Waar slaat dat nou weer op? Curl is geschikt om GET, POST, PUT en DELETE requests uit te kunnen voeren, bijvoorbeeld om een RESTful interface te gebruiken. Hoe kom je erbij dat het vooral is om een formulier te posten?
| 1 2 3 4 5 6 7 8 9 10 | echo curl_error($ch); $timeout = 5; // set to zero for no timeout curl_setopt ($ch, CURLOPT_URL, 'http://www.imdb.com/nowplaying/'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); echo curl_error($ch); curl_close($ch); echo $file_contents; |
ik krijg eenquote:Op donderdag 8 mei 2008 00:00 schreef Dzy het volgende:
Kan iemand anders proberen IMDB te benaderen via cURL? Ik heb een joomla extension gevonden waarin ze ook met cURL imdb aanspreken en daar stond alleen extra een regeltje curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); bij, en ook daarmee deed hij het bij mij niet. Ik ben dus bang dat er bij mijn host iets niet helemaal goed zit. Dit is de volledige code die zou moeten werken:
[ code verwijderd ]
Ze hebben gewoon een firewall aanstaan dat al het verkeer via poort 80 naar buiten tegenhoudt.quote:Het is op onze machines niet meer mogelijk om externe URL's te 'includen' met Perl of met het PHP commando "fopen" of "curl" (allow_url_fopen). Het betreft hier uitsluitend http includes en connecties met het IRC en MSN netwerk.
Dit is gedaan in verband met de veiligheid van de aanwezige sites op deze servers, en voorkomt dat persoonlijke informatie zoals o.a. passwords makkelijk te verkrijgen is door hackers. Daarnaast kregen wij regelmatig klachten van website beheerders dat content zonder toestemming werd overgenomen en dat er via onze server getracht werd illegale activiteiten te ontplooien gebruikmakend van een Proxy-script (Als PHProxy), om zodoende de identiteit van de surfer te verbergen.
We verontschuldigen ons voor het onwaarschijnlijke geval dat u hinder ondervindt van deze configuratieaanpassing, echter hopen we dat u begrijpt dat deze aanpassing vrijwel uitsluitend voordelen heeft voor de beveiliging op de gehele server, en dat dit door ons ook niet per hostingpakket in te stellen is.
Overigens zijn er wel mogelijkheden om via html externe url's te includen. U doet dat door een zgn. "iframe" op te nemen, met daarin een directe link naar de pagina die u wilt includen. Zodoende loopt de include vanaf de server van de eigenaar zelf, en laadt daarnaast uw website veel sneller. (En het scheelt u dataverbruik).
Het openen van sockets via poort 80 is door de maatregel ook niet meer mogelijk. Wellicht kunt u gebruik maken van poort 81 of 443 voor https communicatie.
Bizar zeg. Ze gaan er vanuit dat je nooit een of andere API van een webservice wilt gebruiken?quote:Op donderdag 8 mei 2008 00:51 schreef Dzy het volgende:
Ze hebben gewoon een firewall aanstaan dat al het verkeer via poort 80 naar buiten tegenhoudt.
Ik heb er uitgebreid mee geëxpirimenteerd, dus het is zeker wel geïnstalleerdquote:Op donderdag 8 mei 2008 00:16 schreef Dzy het volgende:
Er is geen cURL geinstalleerd dan
Edit: Maar toch bedankt
Ja.quote:Op donderdag 8 mei 2008 08:39 schreef CraZaay het volgende:
[..]
Bizar zeg. Ze gaan er vanuit dat je nooit een of andere API van een webservice wilt gebruiken?
| 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 | /* Load main library Files */ require_once ( "lib/htconfig.php" ); require_once ( LIB_PATH . "/f_core.php" ); $path = BASE_PATH . "/include/upload/fck/voorkant.jpg"; $to = "wobbel@gmail.com"; $subject = "Test"; $body = "testberichtje"; $filename = "plaatje.jpg"; // Open te file $fp = @fopen ( $path, "r" ); // Check for errors if ( !$fp ) { die ( "Error #4" ); } // Grab file from server while ( !feof ( $fp ) ) { $file_content .= fread ( $fp , 1024 ); } // Close file fclose ( $fp ); // Encode file base 64 $file_content = chunk_split ( base64_encode ( $file_content ) ); // Create unique boundary using md5 $boundary = strtoupper ( md5 ( uniqid ( time ( ) ) ) ); // Create the headers $header .= "MIME-version: 1.0\n"; $header .= "Content-Type: multipart/mixed;\n"; $header .= "\tboundary= " . $boundary . "\n\n"; $header .= "This is a multi-part message in MIME format.\n\n"; // Creathe message body $header .= "--" . $boundary . "\n"; $header .= "Content-type: text/html; charset=iso-8859-1;\n"; // Adding the message to the body $header .= "De tekst in mijn email\n\n"; // Adding headers for the attachment $header .= "--" . $boundary . "\n"; $header .= "Content-Type: application/octet-stream; name=\"" . $filename . "\"\n"; $header .= "Content-Transfer-Encoding: base64;\n"; $header .= "Content-Disposition: attachment; filename=\"" . $filename . "\"\n\n"; // Add the attachment to the headers $header .= $file_content . "\n\n"; $header .= "--" . $boundary . "--"; // Send the e-mail mail ($to,$subject,"",$header); echo "verzonden..."; ?> |
Oke, ik heb nu dit...maar die leegt alsnog de hele tabel SHOP_Cartcontents, ongeacht de datum van SHOP_Carts.Datequote:Op dinsdag 6 mei 2008 14:23 schreef JortK het volgende:
[..]
Lijkt mij allebei, de bovenste verwijderd je 'winkelwagen' de onderste je 'winkelwageninhoud'
| 1 2 3 4 | mysql_query ( "DELETE FROM SHOP_Cartcontents WHERE SHOP_Cartcontents.CartID IN (SELECT CartID from SHOP_Carts WHERE SHOP_Carts.Date < '1210246772')" ) or die ( mysql_error ( ) ); mysql_query ( "DELETE FROM SHOP_Carts WHERE Date < '1210246772'" ) or die ( mysql_error ( ) ); ?> |
Is er een reden dat je zelf bijlagen wilt versturen? Anders kun je beter phpMailer gebruiken. Die kan ook bijlagen versturen en nog veel meer stoere dingenquote:Op donderdag 8 mei 2008 12:42 schreef wobbel het volgende:
Ik heb een script dat bijlagen verzend, maar die werkt niet helemaal goed
De bijlagen komen in Mozilla Thunderbird wel goed binnen, alleen Gmail ziet ze als beschadigd...en sommige andere e-mail clients vreten hem ook niet
Dit is de code:
[ code verwijderd ]
BASE_PATH is gewoon goed gedefinieerdalleen de bestanden die ik binnenkrijg zijn allemaal beschadigd
Bestandsgrootte's kloppen wel ongeveer
Als ik het goed begrijp kan SOAP alleen met HTTP authenticatie overweg, de rest zal je dus in de soap-server moeten oplossen. Wat ik dus gedaan heb, en dat lijkt allemaal te werkenquote:Op vrijdag 9 mei 2008 08:21 schreef Xcalibur het volgende:
Ik heb pas een mooie SOAP/XML server gemaakt met NuSOAP, met een aantal bijbehorende clients. Hartstikke leuk, en het werkt ook prima... Deze data is natuurlijk voor iedereen beschikbaar, dus nu krijg ik alleen de vraag of er ook een authorisatie mechanisme kan komen. Dus dat je eerst moet inloggen, voordat je de data krijgt.
In NuSOAP heb ik wel de functie SetCredentials() gevonden, waarmee je dus je username en password kan zetten. Wat ik alleen niet begrijp is waartegen deze gechecked worden... Moet ik een functie maken die de inloggegevens met de database vergelijkt, is dit een HTTP authenticatie, etc. ?
Wie weet raad?
| 1 2 3 4 5 6 7 | $limit = 50000; $num_records = $db->result('SELECT COUNT(id) FROM stat_info'); if ($num_records > $limit) { $db->query('DELETE FROM stat_info ORDER BY date ASC LIMIT '.($num_records-$limit)); } ?> |
Volgens mij gaat de delete-query mis, omdat date een keyword is in MySQL. Daar zou je dan backtics omheen moeten zetten, dus `date`. Nog mooier is het om geen keywords als kolomnamen te gebruikenquote:Op maandag 12 mei 2008 13:26 schreef wipes66 het volgende:
kan iemand voor mij verifieren dat deze query alleen de oude gegevens verwijdert? Het is zo lullig als er belangrijke gegevens verloren gaan door mijn gepruts![]()
![]()
[ code verwijderd ]
Als je DELETE even vervangt door SELECT *, dan kun je zien wat er allemaal verwijderd gaat worden.quote:Op maandag 12 mei 2008 13:26 schreef wipes66 het volgende:
kan iemand voor mij verifieren dat deze query alleen de oude gegevens verwijdert? Het is zo lullig als er belangrijke gegevens verloren gaan door mijn gepruts![]()
![]()
[ code verwijderd ]
Het is wel een keyword. Maar voor dit specifieke geval heb je inderdaad geen backticks nodig. Dat zegt de MySQL documentatie.quote:Op maandag 12 mei 2008 13:40 schreef Farenji het volgende:
Nee hoor, date is geen keyword, als kolomnaam heb je geen backticks nodig. Deze query moet gewoon goed gaan. En ja, hij wist alleen oude records.
quote:Op maandag 12 mei 2008 13:26 schreef wipes66 het volgende:
kan iemand voor mij verifieren dat deze query alleen de oude gegevens verwijdert? Het is zo lullig als er belangrijke gegevens verloren gaan door mijn gepruts![]()
![]()
[ code verwijderd ]
| 1 |
of als er 50001 records zijn blijft er nog maar 1 record over.quote:Op maandag 12 mei 2008 14:18 schreef SuperRembo het volgende:
[..]
Als dit script twee maal tegelijk wordt uitgevoerd bestaat (theoretisch) de kans dat je alle records verwijderd. Waarom niet gewoon zo?
[ code verwijderd ]
Foutje. De nieuwste 50000 moeten natuurlijk blijven staan, niet de oudste. Dus ORDER BY date DESC niet ASC.quote:Op maandag 12 mei 2008 14:23 schreef qu63 het volgende:
[..]
of als er 50001 records zijn blijft er nog maar 1 record over.
| 1 2 3 4 5 6 7 | $limit = 50000; $num_records = $db->result('SELECT COUNT(id) FROM stat_info'); if ($num_records > $limit) { $db->query('DELETE FROM stat_info ORDER BY date DESC LIMIT ?,?',array($limit,$num_records)); } ?> |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |