Warning: file_get_contents failed to open stream: No such file or directory?
26,364
Solution 1
Try string like this it may help
Just use . for concatenating.
$localFile='/var/www/uploads/$file_name';
to
$localFile='/var/www/uploads/'.$file_name;
and
$remoteFile='/home/nsadmin/$file_name';
to
$remoteFile='/home/nsadmin/'.$file_name;
Solution 2
in php you can't use variable in single quotes use double quotes or use variables outside the string
$localFile='/var/www/uploads/$file_name';
change it to
$localFile='/var/www/uploads/'.$file_name; or $localFile="/var/www/uploads/$file_name";
Solution 3
change
$localFile='/var/www/uploads/$file_name';
to
$localFile="/var/www/uploads/$file_name";
$variables are not parsed inside ' quotes
Another way just
$localFile="/var/www/uploads/".$file_name;
Same with remote.
Comments
-
SaiKiran almost 2 years
Here in this Iam uploading a file and then trying to send this file to another VM.
Code here
// Debugging information -- No use in output echo "</p>"; echo '<pre>'; echo 'Here is some more debugging info:'; print_r($_FILES); print "</pre>"; $file_name = $_FILES['userfile']['name']; echo $file_name; echo gettype($file_name); echo "<br/>";
Output:
Here is some more debugging info:Array ( [userfile] => Array ( [name] => 6274e8cb0358ef3e3906a91036bc84138a8fde606a6e926b9a580c79f9cfc489 [type] => application/octet-stream [tmp_name] => /tmp/php3Yt3T5 [error] => 0 [size] => 3107800 ) ) 6274e8cb0358ef3e3906a91036bc84138a8fde606a6e926b9a580c79f9cfc489string
And it is printing the details correctly.But when i try to send this file to remote VM,it is creating errors.
Code continuation
$localFile='/var/www/uploads/$file_name'; echo $localFile; $remoteFile='/home/nsadmin/$file_name'; $host='192.168.150.85'; $port=22; $user='someusername'; $pass='somepassword'; $connection= ssh2_connect($host,$port); ssh2_auth_password($connection, $user, $pass); $sftp = ssh2_sftp($connection); $stream = fopen("ssh2.sftp://$sftp$remoteFile", 'w'); $file = file_get_contents($localFile); fwrite($stream, $file); fclose($stream);
Error Log:
/var/www/uploads/$file_name Warning: file_get_contents(/var/www/uploads/$file_name): failed to open stream: No such file or directory in /var/www/MTP/upload.php on line 111
Any suggestions on how to fix this error.
P.S :
I have used these for debugging at the start of php file
error_reporting(E_ALL); ini_set('display_errors',1); ini_set('log_errors',1);