رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اخطار در صورت ارسال نشدن پیامک
#1
این برنامه ی ارسال پیامک سایت 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 براش نوشتم جواب نداد.
پاسخ
تشکر شده توسط:
#2
(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 اتصال و بررسی کن ولی اصلا کار جالبی نیست
پاسخ
تشکر شده توسط: راوندی
#3

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";
}



یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط: راوندی




کاربران در حال بازدید این موضوع: 1 مهمان