Použitie PHP cURL v scheduler tasku
Najlepšie bude priamo okomentovať kód:
class tx_extension_import extends tx_scheduler_Task {
// absolútna cesta, kam sa bude súbor z externej stránky kopírovať
public $pathImage = '/mnt/www/sitename/uploads/tx_extension/';
public $curlEnable = TRUE;
public function execute() {
// zisťujeme existenciu knižnice cURL
if( !extension_loaded( 'curl' ) ) {
$this->curlEnable = FALSE;
}
// cesta k externému súboru, ktorý načítame pomocou cURL
$url = 'http://www.external-site.sk/uploads/tx_extension_name/imagefile.jpg';
$filename = basename( $url );
// nižšie nastavíme na TRUE, ak kopírovanie prebehlo úspešne
$copyRes = FALSE;
// použitie cURL
if( $this->curlEnable ) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
$fp = fopen( $this->pathImage.$filename, 'w' );
curl_setopt( $ch, CURLOPT_FILE, $fp );
curl_exec( $ch );
curl_close( $ch );
fclose( $fp );
@chmod( $this->pathImage.$filename, octdec( $GLOBALS['TYPO3_CONF_VARS']['BE']['fileCreateMask'] ) );
$copyRes = file_exists( $this->pathImage.$filename );
}
// klasické kopírovanie súboru, ak nemáme k dispozícii cURL
// pozor: na niektorých serveroch môže byť táto možnosť zablokovaná
else {
$content = @file_get_contents( $url );
if( !empty( $content ) ) {
$fp = fopen( $this->pathImage.$filename, 'w' );
$copyRes = fwrite( $fp, $content );
fclose( $fp );
@chmod( $this->pathImage.$filename, octdec( $GLOBALS['TYPO3_CONF_VARS']['BE']['fileCreateMask'] ) );
}
}
}
}
| Žiadne dokumenty ani odkazy k tejto stránke. | ||
Generátor typoscriptu
Vytvára typoscript pre bežné použitie. Generátor je jednoduchý na obsluhu, stačí vyplniť zopár položiek formulára.