我有一个html文件,可以从用户的计算机中选择图像。下面给出了
//index.php
<html>
<body>
<form enctype="multipart/form-data" action="http://localhost/uploader/upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Please choose a photo:
<input name="photo" type="file"><br/><br/>
Say something about this photo:
<input name="message" type="text" value=""><br/><br/>
<input type="submit" value="Upload"/><br/>
</form>
</body>
</html>
当用户点击“上传”按钮时,用户被重定向到uploader.php文件。 upload.php的代码如下所示
<?php
//upload.php
if(isset($_FILES['photo']) && isset($_POST['message'])){
$uploadfile = './uploads/'.basename($_FILES['photo']['name']);
$iStats=getimagesize($_FILES['photo']['tmp_name']);
if (isset($iStats['mime']) && $iStats[0]>0) {
move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile);
include_once 'fbmain.php';
try{
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$token = $session['access_token'];//here I get the token from the $session array
$album_id = '2179901265385';//MY ALBUM ID
$facebook->setFileUploadSupport(true);
$args = array('message' => $_POST['message']);
$args['image'] = '@' . realpath($uploadfile);
$data = $facebook->api('/'. $album_id . '/photos?access_token='. $token, 'post', $args);
} catch(FacebookApiException $e){
echo "Error:" .$e;
}
unlink($uploadfile);
echo "Success!\n";
} else {
echo "Wrong file type!\n";
}
}
?>
我在同一目录中创建了一个名为'uploads'的folde。 当用户上传文件时,首先将其上传到“上传”文件夹,然后再上传到Facebook。
这在localhost中工作正常。但是当它在服务器中时它不起作用。它给了'错误的文件类型!'消息。请注意我的服务器中有'uploads'文件夹的写权限。
我试图打印'$ _FILES'的值。
print_r($_FILES);
它给了我这个输出
Array ( [photo] => Array ( [name] => TEST IMAGE.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) )
有人可以帮我这个吗?
答案 0 :(得分:4)
错误2表示文件太大... MAX_FILE_SIZE以字节为单位