problema su ipad

beweb-site

Nuovo Utente
14 Lug 2011
6
0
0
Ciao ragazzi
ho un problema con del codice php per la visualizzazione su ipad.
Ho un sito con delle parti in flash,le ho trasformate per i mobile in jpg e ho inserito del codice php che se il sito è visualizzato con un pc normale prende delle righe di codice altrimenti ne prende altre.
Funziona su tutti i cellulari,sugli iphone,sui smartphone ma sull'ipad funziona soltanto se lo apro con opera o firefox,con safari no,il problema è che l'ipad esce con safari e quello che è strano che l'iphone ha la stessa impostazione e li lo apre senza problemi.
Potete aiutarmi?
Grazie
 
PHP:
<?php

    $mobile_browser = '0';
 
if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',  strtolower($_SERVER['HTTP_USER_AGENT']))) {
    $mobile_browser++;
}
 
if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
    $mobile_browser++;
}    
 
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents =  array(
    'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
    'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
    'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
    'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
    'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
    'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
    'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
    'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
    'wapr','webc','winw','winw','xda','xda-');
 
if(in_array($mobile_ua,$mobile_agents)) {
    $mobile_browser++;
}
 
if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
    $mobile_browser++;
}


if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
    $mobile_browser=0;
}
 
if ($mobile_browser > 0) {
			header("Location:http://www.miosito.it/prova.php");
			exit;
        }
		else {
		}		
?>
 
Ultima modifica di un moderatore:
Eliox, il suo problema è che lo script non riesce a capire che si tratta di un browser mobile e continua a visualizzare la versione del sito ottimizzata per dispositivi desktop. Non c'entra con le immagini. Tra l'altro mi pare di capire che il problema del tizio che ha scritto nel post sia l'iPad difettoso.

Comunque prova a scrivere questo:
PHP:
var_dump($_SERVER['HTTP_USER_AGENT']);
All'inizio del tuo script PHP, e vedi che cosa ti visualizza quando ci accedi con iPad.
 
No, l'ipad nn è difettoso...
Non ho capito comunque se il codice che hai postato è per me,cioè se il tizio sarei io oppure...

Quindi devo mettere il codice cosi se nn ho capito male:

<?php

var_dump($_SERVER['HTTP_USER_AGENT']);

$mobile_browser = '0';
 
Sì, prova ad inserirlo in quella posizione, poi accedi al sito con iPad e vedi che cosa visualizza a video. In questo modo saprai qual è lo user agent su iPad. Poi costruiamo un'espressione regolare in modo da riconoscerlo.
 
Quello che visualizzo è:

string(139)"mozilla/5.0(ipad,U;cpu os 4_3_3likemacos x;it-it)applewebkit/533.17.9(khtml,like gecko)version/5.0.2 mobile/812 safari/6533.18.5;
 
Bene, allora modifica l'array così:
PHP:
$mobile_agents =  array(
    'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
    'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
    'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
    'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
    'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
    'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
    'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
    'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
    'wapr','webc','winw','winw','xda','xda-','ipad');
 
Ho provato ma il risultato è sempre lo stesso...
Ho rimesso lo user agent e il valore che mi restituisce è sempre lo stesso.
Non so quale possa essere a questo punto il problema...
Help!! :-(
 
Eliox, il suo problema è che lo script non riesce a capire che si tratta di un browser mobile e continua a visualizzare la versione del sito ottimizzata per dispositivi desktop. Non c'entra con le immagini.
Concorderei con te se non fosse per il fatto che il problema è limitato a Safari.
 

Discussioni simili