2015-09-17 2 views
-1

J'ai une fonction qui l'écrit dans un fichier.Appel de la fonction PHP asynchrone

public function write($type = "error", $mensaje = "") { 
    $this->file = fopen($this->filePath.$this->fileName, "a+"); 

    if ($this->file == null) { 
     trigger_error("Error: No file", E_USER_ERROR); 
    } else { 
     fwrite($this->file, $type." ".$mensaje."\n"); 
    } 
} 

Je dois appeler cette fonction à partir d'un autre fichier php dire index.php

function test() { 
    write("testing done"); 
    echo "done"; 
} 

Je veux que la fonction d'écriture à appeler de façon asynchrone index.php l'exécution en cours ne s'arrête pas ou bloquer si l'écriture échoue.

+0

Vous pourriez peut-être trouver ce d'intérêt/utilisation. http://stackoverflow.com/questions/124462/asynchronous-php-calls?rq=1 – RamRaider

+0

Ecrivez la fonction ci-dessus dans une classe et appelez la classe à l'index.php –

+0

@SobinAugustine qui pourrait bloquer l'exécution –

Répondre

0

avec phptreads (http://php.net/manual/en/intro.pthreads.php), quelque chose comme

class writerThread extends Thread { 
public function __construct($type="error",$message=''){ 
    $this->type=$type; 
$this->message=$message; 
} 

public function run(){ 
    file_put_contents($filename,$this->type.$this->message); 
} 
} 

$writer=new WriterThread("testing done"); 
$writer->start();