Autor Zpráva
delta.7
Profil *
Testuji rozpoznání a přesměrování mobilního telefonu na mobilní verzi webu pomocí souboru .htaccess , s tím problém vcelku není ale nelze se dostat z mobilu na klasickou plnou verzi webu přes hlavní doménu, tvořit duplicitu jinde i když třeba neindexovanou se mi nechce, máte prosím někdo řešení jak docílit aby se dalo přejít z mobilní verze webu na tu plnou?
ninja
Profil
Musíte si nějak nastavit, že nechcete detekovat typ zařízení jako při první návštevě, ale povolit zobrazení plné verze i pro mobil. Buď přes nějaký parametr nebo cookie.
delta.7
Profil *
ninja:
Děkuji, tuším že cesta povede tímto směrem, potřeboval bych spíš nějaké konkrétní řešení nejlépe pomocí .htaccess, nastavovat cookie neumím.
pep10
Profil *
Nemáte někdo funkční script na přesměrování z normální verze na mobilní? Díky.
ninja
Profil
PHP skript
Medvídek
Profil
ninja:
Taky používám, akorát nevím, proč do is_mobile mi spadne i iPad :(
Keeehi
Profil
Medvídek:
Každý iPad? Jelikož já mám na mobilním prohlížeči (htc, android) přepínač na identifikaci se jako mobilní nebo regulérní prohlížeč. Nemůže být něco podobného i na iPadu?
pep10
Profil *
Mohu se zeptat co jak a kam vložit?

Když před Doctype vložím toto:
<?php
/**
 * Mobile Detect Demo Page
 * $Id$
 * 
 */
date_default_timezone_set('Europe/Bucharest');
// Enable all errors for debugging purposes.
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', true);

/**
 * Generic write to file function.
 * 
 * @param string $file
 * @param string $content 
 */
function writeToFile($file, $content){
  
    if (!$handle = fopen($file, 'a')) {
            echo "Cannot open file ($file)";
            exit;
    }

    if (fwrite($handle, $content) === FALSE) {
            echo "Cannot write to file ($file)";
            exit;
    }

    fclose($handle);

}
/**
 * Get all HTTP headers plus visitor IP and
 * the date of the HTTP request.
 * 
 * @return array 
 */
function getHttpHeaders() { 
    
    $out = array();
    
    foreach($_SERVER as $key=>$value) { 
    if (substr($key,0,5)=="HTTP_" || in_array($key, array('REMOTE_ADDR', 'REQUEST_TIME'))) {  
        $out[$key]=($key=='REQUEST_TIME' ? date('d-m-Y H:i', $value) : $value); 
    } 
    } 
    
    return $out; 
    
} 
 
// Debug.
writeToFile('ua.txt', print_r(getHttpHeaders(),true));

?>
tak se na stránce zobrazí tento kus kódu:¨
$value) { if (substr($key,0,5)=="HTTP_" || in_array($key, array('REMOTE_ADDR', 'REQUEST_TIME'))) { $out[$key]=($key=='REQUEST_TIME' ? date('d-m-Y H:i', $value) : $value); } } return $out; } // Debug. writeToFile('ua.txt', print_r(getHttpHeaders(),true)); ?>
Jan Tvrdík
Profil
pep10:
Zřejmě nemáš zprovozněno PHP nebo soubor nemá příponu php. Viz také PHP do HTML tag ".
pcmanik
Profil
Keeehi:
Na iPade to tak neni, a hlasi sa podla user agenta ako mobilny prehliadac, len ma namiesto identifikatora iPhone napisane iPad, ale inak sa jedna o zhodny prehliadac.
pep10
Profil *
stejně to ale vypisuje:

Warning: fopen(ua.txt) [function.fopen]: failed to open stream: Permission denied in /home/hostings/humibox.cz/www/index.php on line 20
Cannot open file (ua.txt)



ua.txt mám vytvořeno, nahráno. V index.php mám na začátku
<?php
/**
 * Mobile Detect Demo Page
 * $Id: demo.php 42 2012-04-26 20:57:17Z serbanghita@gmail.com $
 * 
 */
date_default_timezone_set('Europe/Bucharest');
// Enable all errors for debugging purposes.
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', true);

/**
 * Generic write to file function.
 * 
 * @param string $file
 * @param string $content 
 */
function writeToFile($file, $content){
  
    if (!$handle = fopen($file, 'a')) {
            echo "Cannot open file ($file)";
            exit;
    }

    if (fwrite($handle, $content) === FALSE) {
            echo "Cannot write to file ($file)";
            exit;
    }

    fclose($handle);

}
/**
 * Get all HTTP headers plus visitor IP and
 * the date of the HTTP request.
 * 
 * @return array 
 */
function getHttpHeaders() { 
    
    $out = array();
    
    foreach($_SERVER as $key=>$value) { 
    if (substr($key,0,5)=="HTTP_" || in_array($key, array('REMOTE_ADDR', 'REQUEST_TIME'))) {  
        $out[$key]=($key=='REQUEST_TIME' ? date('d-m-Y H:i', $value) : $value); 
    } 
    } 
    
    return $out; 
    
} 
 
// Debug.
writeToFile('ua.txt', print_r(getHttpHeaders(),true));

?>

a za body mám

<?php
        // Check for mobile device.
                require_once 'Mobile_Detect.php';
                $detect = new Mobile_Detect();
                $layout = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'mobile') : 'desktop');
            ?>  
Keeehi
Profil
pep10:
Permission denied
- script nemá dostatečná práva k přístupu k souboru ua.txt

Vytvoř si pomocný s script s obsahem:
<?php
chmod("cesta/k/souboru/ua.txt",0777);
Ten jednou spusť a můžeš ho smazat. A už by ti to mohlo začít fungovat. Ten pomocný script mění práva souboru ua.txt

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: