تالار گفتمان nCIS.ir

نسخه‌ی کامل: اخطار در صورت ارسال نشدن پیامک
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
این برنامه ی ارسال پیامک سایت sms.ir هست:
<?php
$userName=$_POST ['userName'];
$password=$_POST ['password'];
$lineNumber=$_POST ['lineNumber'];
$to=$_POST ['Receiver'];
$text=$_POST ['messageBody'];
date_default_timezone_set('Asia/Tehran');
$client= new SoapClient('http://n.sms.ir/ws/SendReceive.asmx?wsdl');
$parameters['userName'] = $userName;
$parameters['password'] = $password;
$parameters['mobileNos'] = array(doubleval($to));
$parameters['messages'] = array($text);
$parameters['lineNumber'] = $lineNumber;
$parameters['sendDateTime'] = date("Y-m-d")."T".date("H:i:s");
if($client->SendMessageWithLineNumber($parameters)){
	echo "ارسال شد";
}
?>
میخوام در صورتی که ارتباط با اینترنت برقرار نیست وقتی توی لوکال هاست میخوام پیامک ارسال بکنم. اخطار بده که مثلا ارتباط با اینترنت برقرار نیست.
رفتم یه else براش نوشتم جواب نداد.
(25-06-1394، 08:34 ب.ظ)راوندی نوشته: [ -> ]این برنامه ی ارسال پیامک سایت sms.ir هست:
<?php
$userName=$_POST ['userName'];
$password=$_POST ['password'];
$lineNumber=$_POST ['lineNumber'];
$to=$_POST ['Receiver'];
$text=$_POST ['messageBody'];
date_default_timezone_set('Asia/Tehran');
$client= new SoapClient('http://n.sms.ir/ws/SendReceive.asmx?wsdl');
$parameters['userName'] = $userName;
$parameters['password'] = $password;
$parameters['mobileNos'] = array(doubleval($to));
$parameters['messages'] = array($text);
$parameters['lineNumber'] = $lineNumber;
$parameters['sendDateTime'] = date("Y-m-d")."T".date("H:i:s");
if($client->SendMessageWithLineNumber($parameters)){
 echo "ارسال شد";
}
?>
میخوام در صورتی که ارتباط با اینترنت برقرار نیست وقتی توی لوکال هاست میخوام پیامک ارسال بکنم. اخطار بده که مثلا ارتباط با اینترنت برقرار نیست.
رفتم یه else براش نوشتم جواب نداد.
با http://php.net/manual/en/function.fsockopen.php اتصال و بررسی کن ولی اصلا کار جالبی نیست

class Http {
	
	/**
	 * Check Internet Connection.
	 * 
	 * @param string $sCheckHost Default: http://www.google.com
	 * @return boolean
	 */
	static function isConnected($sCheckHost = 'www.google.com') 
	{
		return (bool) @fsockopen($sCheckHost, 80, $iErrno, $sErrStr, 5);
	}
	
	/**
	 * Check application is running locally
	 * 
	 * @return boolean
	 */
	static function isLocal()
	{
		if(in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1','::1')))
			return true;
		return false;
	}
	
}

try{
	
	if(Http::isLocal() && !Http::isConnected())
	{
		throw new Exception('Internet connection is NOT established AND This application is running locally');
	}
	else
	{
		$userName=$_POST ['userName'];
		$password=$_POST ['password'];
		$lineNumber=$_POST ['lineNumber'];
		$to=$_POST ['Receiver'];
		$text=$_POST ['messageBody'];
		date_default_timezone_set('Asia/Tehran');
		$client= new SoapClient('http://n.sms.ir/ws/SendReceive.asmx?wsdl');
		$parameters['userName'] = $userName;
		$parameters['password'] = $password;
		$parameters['mobileNos'] = array(doubleval($to));
		$parameters['messages'] = array($text);
		$parameters['lineNumber'] = $lineNumber;
		$parameters['sendDateTime'] = date("Y-m-d")."T".date("H:i:s");
		if($client->SendMessageWithLineNumber($parameters)){
		 echo "ارسال شد";
		}	
	}
	
}
catch(Exception $e){
	echo 'Exception:'.$e->getMessage()."rn";
}