PHP文件上传问题
我在PHP中编写了一个Facebook应用程序,需要能够允许用户将图像上传到我的服务器。我已经使用此代码:PHP文件上传问题
<?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))) {...
FBML应用程序并不容易。
首先 - 你有你的形状点到脚本上域
<form enctype="multipart/form-data"
action="http://your.domain/upload.php"
method="post" >
下一页:任何你想对upload.php
你必须处理上传的文件,进程,这样做,之后您需要重定向到facebook.com上的FBML画布应用程序。
这是如何设置应用程序:用户加载FB画布页面。在FB画布页面上,有一个HTML iframe。此iframe包含应用程序的实际功能。 (上传表单)用户选择一个文件,然后点击上传按钮。表单将表单数据POST到上传脚本。该脚本然后重定向到显示页面。所有的重定向都在iframe中完成。 – 2010-10-14 02:36:50
这个工作流程似乎是正确的。那么,调试你的脚本,然后 – zerkms 2010-10-14 02:42:50
我想通了。问题是我用来从Facebook获取当前用户ID的代码。通过不包括该代码来修复它,但在每个URL的末尾添加用户ID。我感谢你们所有人的帮助,并将在信用页面添加欧活名字和个人资料图片!谢谢! – 2010-10-15 03:19:04
它是什么样的应用程序?它是iframe/fbml(哪一个?)或第三方应用程序? – zerkms 2010-10-13 05:39:53
你给这个目录的权限? – 2010-10-13 05:42:36
你的表单有哪些'enctype'。它应该是'multipart/form-data' – pltvs 2010-10-13 05:50:58