我用PHP编写了一个Facebook应用程序,需要能够允许用户将图像上传到我的服务器。我使用过这段代码:
<?php
include_once('facebook.php');
$appapikey = 'API KEY HERE';
$appsecret = 'SECRET KEY HERE';
$facebook = new Facebook($appapikey, $appsecret);
$fb_user = $facebook->require_login();
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") &&
($_FILES["uploaded_file"]["size"] < 350000)) {
$newname = dirname(__FILE__).'/upload/zbt_'.$fb_user.'.jpg';
if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
header("Location: http://majik.zbrowntechnology.info/display.php");
} else {
header("Location: home.php?Fatal");
}
} else {
header("Location: home.php?Fatal");
}
} else {
header("Location: home.php?Fatal");
}
?>
但无法将文件实际保存在目录中。我已经完成了一些代码,并认为问题在于移动该行中的文件:
if((move_uploaded_file($ _ FILES ['uploaded_file'] ['tmp_name '],$ newname))){....
答案 0 :(得分:0)
使用FBML应用程序并不容易。
首先 - 您必须将表单指向您的域
上的脚本<form enctype="multipart/form-data"
action="http://your.domain/upload.php"
method="post" >
下一步:在upload.php
上你必须处理上传的文件,处理它,做你想做的任何事情,之后你需要重新定向到facebook.com上的你的FBML画布应用程序。