大佬教程收集整理的这篇文章主要介绍了php-Facebook-无法使用标签上传文件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试让用户使用以下PHP从我的facebook应用程序上传图像
<?PHP
echo render_header('Your');
define("MAX_SIZE", "1536");
function getExtension($str){
$i = strpos($str,".");
if(!$i) {return "";}
$l = strlen($str) - $i;
$ext = substr($str, $i+1, $l);
return $ext;
}
$errors = 0;
if(isset($_POST['Upload'])){
$image = $_FILES["file1"]["name"];
if($image){
$filename = stripslashes($_FILES["file1"]["name"]);
$extension = getExtension($filename);
$extension = strtolower($extension);
if((strcasecmp($extension,"jpg") != 0) && (strcasecmp($extension,"jpeg") != 0) && (strcasecmp($extension,"png") != 0) && (strcasecmp($extension,"gif") != 0))
{
$errors = 1;
}
else{
$size = filesize($_FILES['file1']['tmp_name']);
if($size > MAX_SIZE*1024){
$errors = 2;
}
else{
$image_name = md5(uniqid()) . '.' . $extension;
$newname = "../images/" . $image_name;
$flName = "/images/" . $image_name;
$copied = move_uploaded_file($_FILES['file1']['tmp_name'], $newname);
if(!$copied){
$errors = 3;
}
}
}
}
}
if(isset($_POST['Upload']) && $errors == 0){
//add to database here
...
if($errors == 0){
include "uploadedFile.PHP";
}
}
else{
$user_details = $fb->api_client->users_getInfo($user, 'first_name,last_name,pic_square');
$image_url = $user_details[0]['pic_square'];
if($image_url == ""){
$image_url = "http://static.ak.fbcdn.net/pics/q_silhouette.gif";
}
$user_name = $user_details[0]['first_name'] . " " . $user_details[0]['last_name'];
if(isset($_POST['Upload']) && $errors == 0){
?>
<div id="error" class="error">
<h2 id="standard_error" name="standard_error">Failed to upload tattoo.</h2>
<p id="standard_explanation" name="standard_explanation">
Error uploading file. This error occurred because either the photo was a size we don't support or there was a problem with the image file.
<br/>
</p>
</div>
<?PHP
}
?>
<div id="newalbum" align="center">
<form id="upload" enctype="multipart/form-data" name="upload" action="" method="post">
<table class="formtable" cellspacing="0" border="0">
<tbody>
<tr class="tallrow">
<td class="label">
Upload Image:
<br/>
<small>
You can upload
<br/>
JPG, GIF or PNG
<br/>
files.
</small>
</td>
<td>
<div id="files">
<div id="1">
<input id="file1" class="inputfile" type="file" name="file1" size="22"/>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="formbuttons">
<input id="" class="inputbutton" type="submit" value="Upload Tattoo" name="Upload" />
<br/>
<small>The file size limit 1.5 MB. If your upload does not work, try uploading a smaller picture.</small>
<br/>
</div>
<?PHP
}
?>
但是,当我执行此代码并且用户按下“上传”按钮时,$_ FILES [‘file1’] [‘name’]的值显示为空白.
Facebook应用程序中允许使用此代码吗?如果不是,上传文件的正确方法是什么?
谢谢
编辑
好的,问题出在Facebook.他们从任何请求中删除所有文件标签!建议我们改用iframe!
感谢大家的帮助!
解决方法:
好.找到了问题. Facebook在发送请求之前会剥离所有文件标签.解决方案是改用iframe.
以上是大佬教程为你收集整理的php-Facebook-无法使用标签上传文件全部内容,希望文章能够帮你解决php-Facebook-无法使用标签上传文件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。