2010-05-17 8 views
0

HIfichier cretaed en utilisant exec n'a pas pu être consulté immédiatement après la création?

J'utilise exec en php pour exécuter une commande et il crée un fichier .png dans un dossier temp ..

Après avoir créé que je suis en train d'ouvrir ce fichier et lire le contenu et de les traiter ,,

mais je finis par fichier n'a pas pu lire l'erreur ..

Je pense que le temps pris par l'exécutif pour exécuter et créer un fichier est la cause de la question ..

mais je ne sais pas comment fi x ça? J'ai essayé sleep(), mais il rend mon script à exécuter lent

<?php 
    error_reporting(E_ALL); 
    extension_loaded('ffmpeg') or die('Error in loading ffmpeg'); 
     //db connection codes 
    $max_width = 120; 
    $max_height = 72; 
    $path ="/path/"; 
    $qry="select id, input_file, output_file from videos where thumbnail='' or thumbnail is null;"; 
    $res=mysql_query($qry); 
    $cnt = 1; 
    while($row = mysql_fetch_array($res,MYSQL_ASSOC)) 
    { 
     $outfile = $row[output_file]; 
     $imgname = $cnt.".png"; 
     $srcfile = "/path/".$outfile; 

     echo "####$srcfile####"; 
     exec("ffmpeg -i ".$srcfile." -r 1 -ss 00:00:05 -f image2 -s 120x72 ".$path.$imgname); 
     $nname = "./temp/".$imgname; 
     echo "nname===== $nname"; 
     $fileo = fopen($nname,"rb"); 
     if($fileo) 
     { 
     $imgData = addslashes(file_get_contents($nname)); 
       .. 
       ... 
       .... 
     } 
     else 
      echo "Could not open<br><br>"; // this stmt is printed while executing 
     $cnt = $cnt + 1: 
    } 
?> 

Répondre

0

Vous créez un fichier à $path.$imgname, et vous essayez de lire "./temp/$imgname" que je suppose sont 2 fichiers totalement différents.

+0

J'ai remplacé le chemin d'origine par le nom «chemin» lors de la publication, c'est tout. Je suis sûr que le chemin est correct et les fichiers sont créés avec les permissions appropriées que j'ai vérifiées avec filezilla. – Vijay

+0

Pourquoi ne faites-vous pas 'echo $ path. $ Imgfile." ==./Temp /".$ imgname; 'et voyez si elles sont identiques? –

+0

Je l'ai vérifié et les fichiers sont les mêmes ... – Vijay