Visa ett inlägg
Oläst 2013-07-23, 05:59 #19
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av zenda Visa inlägg
Jag har hört att jorden är platt - måste stämma :-)
Skämt åsido, hoosten du kör ifrån kan neka file_get_contents, vilket jag ser iof att du ändå använder i din klass. UTF8 är nödvändigt vilket man också kan läsa sig till på siten.
Om man inte vill använda file_get_contents pga dåliga rykten på stan så finns cURL.

Kör hårt!
Ja, nu har jag fixat till så min klass använder curl i stället för file_get_contents() så den koden ska tydligen vara något bättre att använda, den verkar funka på sms.inleed.se också enligt mina något rudimentära tester.

Jag kör en console-app från min lokala PC så jag drabbas inte av problem med att en del hostar spärrat file_get_contents(), men vän av ordning så använder jag de rutiner som rekommenderas, så jag har uppdaterat min klass enligt de principerna.

PHP-kod:
<?php
////////////////////////////////////////////////////////////////////////////////    
// File: smsutility.php
// Date: 2013-07-21 // created file_get_contents()
// Date: 2013-07-23 // added cURL...
// Author: Conny Westh, Adopter KB, 073-898 68 61, [email protected]
// UTF-8 med URLEncode
////////////////////////////////////////////////////////////////////////////////    
// Refgistrera dig och skaffa en sms-nyckel på http://sms.inleed.se 
// Alla SMS skickas idag från nummer 0763448100. 
////////////////////////////////////////////////////////////////////////////////    
class SmsUtility
{
    var 
$smskey;
    
    function 
__construct($smskey)
    {
        
$this->smskey $smskey;
    }
    
    function 
__destruct()
    {
    }
    
    function 
send($recipient$message)
    {
        
$encodedMessage $this->url_encode($message);
        
$url "http://sms.inleed.se/skickaSMS/?nummer=" $recipient "&text=" $encodedMessage "&nyckel=" $this->smskey;
        echo 
$url "\n";
        try
        {
            
$this->curl_execute($url); // Using cURL...
            // $this->file_execute($url); // Using file_get_contents()...
        
}
        catch (
Exception $e)
        {
            echo 
$e;
            throw new 
Exception($e);
        }
    }

    
// To use cURL on Windows-platform you need to 
    // copy libeay32.dll and ssleay32.dll to Windows\System32
    // and uncomment ;php_libcurl.dll in php.ini, the maybe reboot PC...
    
function curl_execute($url)
    {
        
$ch curl_init($url);
        
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
        
curl_setopt($chCURLOPT_HEADERfalse);
        
curl_exec($ch);
        
curl_close($ch);
    }
    
    function 
file_execute($url)
    {
        
file_get_contents($url); 
    }
     
    function 
url_encode($string)
    {
         return 
rawurlencode(utf8_encode($string));
    }
     
    function 
url_decode($string)
    {
         return 
utf8_decode(rawurldecode($string));
    }    
}

class 
SmsUtilityTest
{
    function 
__construct()
    {
        echo 
"********************************************************************************\n";
        echo 
"** Begin Test...\n";
        echo 
"********************************************************************************\n";
        
$this->main();
    }
    
    function 
main()
    {
        
$smskey "<Den 50 siffriga sms-nyckeln ska läggas in här>";
        
$recipient1 "070..."// Mottagare 1 mobilnummer
        
$recipient2 "073..."// Mottagare 2 mobilnummer
        
$message1 "Hejsan Conny,\nNu fungerar SmsUtility med specialtecken och källkoden finns i din mejl med (åäöÅÄÖ)!";
        
$message2 "Hejsan Conny,\nNu fungerar SmsUtility.php med cURL och (åäöÅÄÖ)!";
        
        
$sms = new SmsUtility($smskey);
        
$sms->send($recipient1$message2);
        
$sms->send($recipient2$message2);
    }
    
    function 
__destruct()
    {
        echo 
"********************************************************************************\n";
        echo 
"** End Test...\n";
        echo 
"********************************************************************************\n";
    }
}
 
new 
SmsUtilityTest();
   
?>

Senast redigerad av Conny Westh den 2013-07-23 klockan 06:04
Conny Westh är inte uppkopplad   Svara med citatSvara med citat