2010-10-09 7 views
0

J'ai une question qui m'a été mise sur écoutephp-attendre de la page Web

récemment, je voulais écrire une page Web qui utilisera le php-vous attendre à scp une image d'un autre serveur, puis l'afficher dans une image TAG

ici est mon code

<?php 
// Copies file from remote host: 
ini_set ("expect.timeout", 30); 

$stream = fopen ("expect://scp [email protected]:/export/lynx/waves.png waves.png", "r"); 


$cases = array (
     array (0 => "*Password: ", 1 => "PASSWORD"), 
     array (0 => "*yes/no)? ", 1 => "YESNO") 
); 

while (true) 
{ 
     switch (expect_expectl ($stream, $cases)) 
     { 
       case "PASSWORD": 
       fwrite ($stream, "password\n"); 
       break; 
       case "YESNO": 
       fwrite ($stream, "yes\n"); 
       break; 
       case EXP_TIMEOUT: 
       case EXP_EOF: 
       break 2; 

       default: 
         die ("Error has occurred!\n"); 
     } 
} 

echo "<img src=\"waves.png\"/>"; 

fclose ($stream); 
?> 

Cela fonctionne bien quand je le lance à partir du CLi en utilisant « php sctipt.php » et je vois l'image en cours de transfert et le code html en cours d'impression sur la console. Cependant, lorsque j'appelle le script de ma page Web, il ne charge pas l'image. J'ai également essayé le chemin complet du répertoire et cela ne fonctionne toujours pas.

+0

Est-ce que les données www-ont des autorisations à SCC et lire ce fichier? –

+0

Merci cela a fonctionné. Ajout d'autorisations au dossier et il a commencé à écrire. tellement bête de moi: p .. –

Répondre

0

problème était mon utilisateur httpd ne dispose pas des autorisations d'écriture dans le dossier que je copiais le fichier sécurisé à