我正在为我的项目使用codeigniter。我创建了一个foreach循环,我希望在循环结束后重定向。它正在使用localhost,但不在实时服务器中。这是我的代码:
public function __construct()
{
parent::__construct();
$this->load->helper('url');
}
public function my_function() {
$config['upload_path'] = 'my_file_destination/';
$config['allowed_types'] = 'txt';
$this->load->library('upload', $config);
if ($this->upload->do_upload('text_file')) {
$upload_data = $this->upload->data();
function curl_load($number_url){
curl_setopt($ch=curl_init(), CURLOPT_URL, $number_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$number_url = base_url()."my_file_destination/".$upload_data['file_name'];
$file_content = curl_load($number_url);
$mobileNO = explode(',', $file_content);
$smsFormat = "Hello, this is a test message from LMS. Test Multiple sms. Let me know if you get it.";
function httpGet($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$user = "my_username";
$pass = "my_password";
$sid = "api_key";
$url = "my_sms_api";
$SMSText = urlencode($smsFormat);
$i = 1;
foreach($mobileNO as $mobile_no){
$mobile_no = '88'.$mobile_no;
echo httpGet("my_sms_api/plain?user=$user&password=$pass&sender=$sid&SMSText=$SMSText&GSM=$mobile_no&type=longSMS&datacoding=1");
$sms_data = array(
'mobile_no' => $mobile_no ,
'message' => $SMSText ,
'sms_date' => date('d/m/Y')
);
$this->db->insert('tbl_custom_sms', $sms_data);
$i++;
}
if($i = count($mobileNO)+1){
redirect('customsms/index');
}
}
}
这是我的htaccess文件:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我尝试了stackoverflow的另一个解决方案,但无法获得,问题在哪里。 请帮帮我。
答案 0 :(得分:0)
我没有检查它,但似乎这样可行:
function redirect_to($location){
header("Location: $location");
exit;
}
if(mysql_affected_rows() == 1){
//success
redirect_to("index.php");
}
不要为参数定义默认值,然后检查它,只是不要给它一个默认值。同时删除Location:标题中的括号。
答案 1 :(得分:0)
我遇到了与重定向功能相同的问题。
然后找到在日志文件中寻址的文件,并检查在php标记之前和之后是否有空格或任何未使用的空行。如果找到任何空格,则将其删除。 然后你的重定向功能就可以了。