Autor Zpráva
Zezula
Profil *
Dobrý den,
se svým webem jsem nedávno přešel od free hostingu endora.cz k placenému na onebit.cz.
Celej přechod proběhl v pohodě, až na jednu maličkost.. každý den po půlnoci se mi aktualizuje (nebo pokud neexistuje, tak se vytvoří) xml soubor data.xml, který načítá obsah z jiného webu.
Na endora.cz to fungovalo v pohodě, na onebit.cz se ten soubor neaktualizuje a ani nevytváří. Nevíte, co je kde potřeba nastavit aby to fungovalo?
Díky za každou radu, Zezula
Davex
Profil
Jak se ten soubor vytváří a aktualizuje?
Zezula
Profil *
zhruba nějak takhle..
<?php
class stahujdata{
    const source = "jinyweb.cz/original.xml";
    private $export = 'data.xml';
    /**
     *  - false: Regeneruje se pouze v případě že je soubor starý než jeden den
     *  - true: Regeneruje se po každém obnovení stránky
    */
    private $regenerate = false;
    public function __construct()
    {

    }
    /**
     * Nastavaní regenerace obsahu
     *
     * @var bool $regenerate true|false
    */
    public function setRegenerate($regenerate){
        $this->regenerate = (bool) $regenerate;
    }
    public function setExportFile($fileName){
        $this->export = $fileName;
    }
    /**
     * Stažení XML exportu
    */
    public function downloadXML(){
        // Regenerace
        if($this->regenerate == true){
            unlink($this->getExportFile());
        }
        // Kontrola souboru
        if(file_exists('data.xml')){
            $create = new DateTime('@' . filemtime($this->getExportFile()));
            if($create->format('Y-m-d') != (new DateTime('now'))->format('Y-m-d')){
                unlink($this->getExportFile());
            }
        }

        if(!file_exists($this->getExportFile())){
            copy( self::source, __DIR__ . '/' . $this->export );
        }
    }
            }
    
Kajman
Profil
Máme možnost kouknout do error logů? Třeba tam php vypíše, že není povolený zápis do tohoto adresáře.
Zezula
Profil *
Díky za rady, chyba byla v zakázaném allow_url_fopen.
Po povolení vše funguje jak má.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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