Facebookは - の<input type =「ファイル」>タグ
<?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
}
?>
を使用して、私のFacebookアプリから画像をアップロードできるようにしようとしています
を使用してファイルをアップロードすることはできません。しかし、私はこのコードを実行するときユーザーが "Upload"ボタンを押すと、$ _FILES ['file1'] ['name']の値が空白になります。
Facebookのアプリでこのコードは許可されていますか?ファイルをアップロードする正しい方法は何ですか?
おかげ
編集
問題Facebookであるので、[OK]をクリックします。彼らはどんな要求からもすべてのファイルタグを取り除きます!代わりにiframeを使用することをお勧めします。
皆さん、ありがとうございます!
Heh。私はあなたにそのことを伝えていました。私のアプリケーションでは同じ問題がありますが、問題は通常のアプリケーションページがFBでフィルタリングされ、ユーザーがファイルを自分のサーバーはファイルをサーバーに渡す必要があります。 –
誰かがこれを黙認できますか?これは、アプリケーション設定スペースで「iframe」と「fbml」を設定することを意味しますか、それともページ全体に対してを呼び出すのでしょうか?またはフォームのためだけに?私はこの問題が私のために解決されても大丈夫です! –
フォームを含むHTMLをiframe内に配置するだけで済みます。それはどうやって私はそれが働いた。 – lostInTransit