2013-04-29 27 views
6

CurPageURL adlı bir dizi döndüren bir işlev var. Yerel apache'mde, Sayfanın bu gibi geri dönüş değerine eriştim: $pageUrl = explode('?',curPageURL())[0]; oldukça iyi çalıştı. Ama canlı olarak işe yaramadı. Anlamak için çok fazla zaman harcadı, hata diziye erişiyordu.php garip davranış dizisine erişim garip davranış

$pageUrl = explode('?',curPageURL()); 
$pageURL = pageURL[0]; 


function curPageURL() { 
     $pageURL = 'http'; 
     if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
     $pageURL .= "://"; 
     if ($_SERVER["SERVER_PORT"] != "80") { 
      $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
     } else { 
      $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
     } 
     return $pageURL; 
    } 
  • herkes neden açıklayabilir:

    Bu

    sorunu çözüldü?

  • Dizi dizinine doğrudan işlevin dönüş değeriyle erişmek yasak mı? Eğer öyleyse, neden yerel sunucumda çalıştı, ancak canlı ana bilgisayarımda değil?

+0

- hepsini ve bir saat boşa zaman açıklıyor:/teşekkürler –

+0

evet benim Barındırıcınızın php 5.3 olan içinde çalışması gerekir – abimelex

cevap

4

$pageUrl = explode('?',curPageURL())[0]; yalnızca zaman php sürüm> = PHP 5.4 itibarıyla

doğrudan bir işlev veya yöntem çağrısının sonucu KQUEUE dizi mümkündür 5.4. Daha önce sadece geçici değişken kullanılarak mümkün oldu.

Çevrimiçi sunucunuz bu sürümün altında.

İlgili konular