Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Heroku服务器上找不到/tmp目录的绝对路径_Php_Facebook_Heroku - Fatal编程技术网

Php 在Heroku服务器上找不到/tmp目录的绝对路径

Php 在Heroku服务器上找不到/tmp目录的绝对路径,php,facebook,heroku,Php,Facebook,Heroku,我正在Facebook上开发一个应用程序,它要求用户在我的服务器上上传他们的图片,我可以在他们的页面上发布。我无法将该图片发布到Facebook,但是,如果只显示消息,它的发布就非常好。我觉得问题在于heroku的/tmp目录,因为它以与普通php不同的方式处理上传的文件。我不知道绝对路径是服务器(MYAPP.herokuapp.com/tmp)还是apps.facebook.com/tmp。我需要在那里显式创建一个tmp文件夹吗,如果是,如何?? 以下是我的“POST”代码片段: $allow

我正在Facebook上开发一个应用程序,它要求用户在我的服务器上上传他们的图片,我可以在他们的页面上发布。我无法将该图片发布到Facebook,但是,如果只显示消息,它的发布就非常好。我觉得问题在于heroku的/tmp目录,因为它以与普通php不同的方式处理上传的文件。我不知道绝对路径是服务器(MYAPP.herokuapp.com/tmp)还是apps.facebook.com/tmp。我需要在那里显式创建一个tmp文件夹吗,如果是,如何?? 以下是我的“POST”代码片段:

$allowedExts=array(“jpg”、“jpeg”、“gif”、“png”);
$extension=end(分解(“.”,$_文件[“uploadedfile”][“name”]);
如果(($_文件[“uploadedfile”][“type”]=“image/gif”)
||($_文件[“uploadedfile”][“type”]=“image/jpeg”)
||($_文件[“uploadedfile”][“type”]=“image/png”)
||($_文件[“uploadedfile”][“type”]=“image/pjpeg”))
&&($_文件[“uploadedfile”][“size”]<20000)
&&in_数组($extension$allowedExts))
{
如果($_文件[“uploadedfile”][“error”]>0)
{ 
回显“无效图片..请重试”;
}
其他的
{
呼应“成功”;
}
}
其他的
{
回显“无效图片..请重试”;
}
$ext=explode(“image/”,$_文件[“uploadedfile”][“type”]);
foreach($ext作为$e)
{
$v.=$e;
}
$path=https://apps.facebook.com/pagecron“.$”文件['uploadedfile']['tmp_名称']..”
.$v;
$parameters=array('message'=>$\u POST['message'],
“图片”=>$path,
'link'=>$\u POST['link'],
'name'=>$\u POST['name'],
'caption'=>$\u POST['caption'],
'description'=>$\u POST['description']
);
您可以使用:

if(session_id()){}
else{session_start();}
$facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']);
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'source' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/me/photos','POST',$parameters);

绝对路径不是吗?@Igy先生,我的意思是,由于在facebook上发布图片需要图片的完整路径(链接),我无法从heroku找到该路径,我真的在互联网上努力搜索并阅读有关heroku的文档,他们说使用amazon s3存储作为存储目的,我没有信用卡,所以我不能。我甚至不想存储用户的图片,只想把它发布到facebook上。有什么帮助吗???直接使用
/tmp
几乎肯定不能通过HTTP(S)公开访问-如果你将图片上传到facebook API,直接上传文件,不是通过URL@Igy文件直接的意思是???我读了facebook开发者的博客,有一种方法可以使用图形url上传照片,我们可以直接把它放在动作栏中,它工作得很好。但问题是用户只能发布图片,我不想这样。另外一件事是,我们无法在该栏中重定向我们的用户case@Igy我很高兴脸谱网API开发者自己在回答我。请考虑我只是个孩子。
if(session_id()){}
else{session_start();}
$facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']);
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'source' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/me/photos','POST',$parameters);