script php nell'index

14 contenuti / 0 new
Ultimo contenuto
script php nell'index

E' possibile inserire questo script in php nell'index della pagina web di drupal!
In questo modo ogni accesso al sito fa partire lo script.
E' possibile o può creare danni

$server = 'server ftp';
$ftp_user_name = 'username';
$ftp_user_pass = 'password';

$dest = 'file_remoto.txt';
$source = 'file_in_locale.txt';

$connection = ftp_connect($server);

$login = ftp_login($connection, $ftp_user_name, $ftp_user_pass);

if (!$connection || !$login) { die('Connection attempt failed!'); }

$upload = ftp_put($connection, $dest, $source, FTP_ASCII);

if (!$upload) { echo 'FTP upload failed!'; }

ftp_close($connection);

Drupal Version:

scusa, ma esattamente cosa dovresti fare?

M.

--
Michel 'ZioBudda' Morelli -- michel@ziobuddalabs.it
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Dovrebbe trasferire alcuni file da un server FTP [quello dove c'è il sito (drupal 6)] ad un altro server FTP.
Siccome sono impossibilitato ad installare software che lo facessero partire in automatico ogni 12 ore avevo pensato che mettendolo nell'index ogni persona che accedesse al sito lo attivase inconsapevolmenet così da rimanere sempre attivo

Allora non lo fare nell'index.php, ma creati uno script apposito basato su index.php fino alla chiamata della funzione principale (che non farai) e poi da remoto lo esegui ogni X ore tramite un wget.

Non è meglio ?

M.

--
Michel 'ZioBudda' Morelli -- michel@ziobuddalabs.it
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

L'hook_cron fa al caso tuo.
http://api.drupal.org/api/drupal/developer!hooks!core.php/function/hook_...

[myftpsync.module]

<?php
function myftpsync_cron() {
 
// Add your code here
}
?>

[myftpsync.info]

name = My FTP Sync
description = Sync my file
core = 6

Ciao
Marco
--
My blog
Working at @agavee

mavimo wrote:
L'hook_cron fa al caso tuo.
http://api.drupal.org/api/drupal/developer!hooks!core.php/function/hook_...

[myftpsync.module]

<?php
function myftpsync_cron() {
 
// Add your code here
}
?>

[myftpsync.info]

name = My FTP Sync
description = Sync my file
core = 6


Grazie mile.
Dalla descrizione sembra proprio quello che fa al caso mio.
Una cosa però, come faccio ad usarlo? Non sono molto pratico in queste cose!

up?

Ciao NicoCaldo,
sicuramente la soluzione dell'hook_cron è la migliore, per poterla mettere in pratica devi scrivere un nuovo modulo.
Immaginando che il modulo si chiami upload_ftp dovrai creare una cartella upload_ftp con dentro due file upload_ftp.info (prendi spunto da un altro modulo per capire cosa scriverci dentro) e upload_ftp.module. Nel secondo file metti l'implementazione dell'hook_cron:

function upload_ftp_cron() {
[...]
}

All'interno della funzione inserisci il tuo codice (quello che adesso è nell'index.php). Ad ogni invocazione del cron il tuo file sarà trasferito!

CorsiDrupal.it - Formazione specializzata per Drupal
http://www.corsidrupal.it - 0287398638 - @CorsiDrupal
Corsi Base, Intermedi, Avanzati, in classe o da remoto, one-to-one, training on the job e percorsi personalizzati!

L'hook_cron non fa al cosa di NicoCaldo:

Short-running or non-resource-intensive tasks can be executed directly in the hook_cron() implementation. Long-running tasks and tasks that could time out, such as retrieving remote data, sending email, and intensive file tasks, should use the queue API instead of executing the tasks directly.

Direi che trattandosi di FTP è un "Long-running task".

M.

--
Michel 'ZioBudda' Morelli -- michel@ziobuddalabs.it
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Assolutamente d'accordo, solo che le queue API sono più complesse da usare che il semplice hook_cron. Se il file da trasferire è sufficientemente piccolo dovrebbe starci anche con l'hook_cron.

CorsiDrupal.it - Formazione specializzata per Drupal
http://www.corsidrupal.it - 0287398638 - @CorsiDrupal
Corsi Base, Intermedi, Avanzati, in classe o da remoto, one-to-one, training on the job e percorsi personalizzati!

CorsiDrupal.it wrote:
Assolutamente d'accordo, solo che le queue API sono più complesse da usare che il semplice hook_cron. Se il file da trasferire è sufficientemente piccolo dovrebbe starci anche con l'hook_cron.

I file sonod e .pdf da 400kb massimo!
Si può fare?

An e sicocme non sono un programamtore drupal, non ho benc apito cosa isnerire nel file .info
Cioè ne ho visti alcuni ma ci sono delle aprti che a me sonos conosciute e non so come modificarle

Nel file info ti basta mettere:

name = Nome del tuo modulo
description = Descrizione del modulo
core = 7.x

CorsiDrupal.it - Formazione specializzata per Drupal
http://www.corsidrupal.it - 0287398638 - @CorsiDrupal
Corsi Base, Intermedi, Avanzati, in classe o da remoto, one-to-one, training on the job e percorsi personalizzati!

(comunque il mio voto va alle Queue: non sono molto più complesse di hook_cron e sono molto più affidabili)