Php base64编码图像。上传推特头像

Php base64编码图像。上传推特头像,php,twitter,base64,Php,Twitter,Base64,我正在尝试为twitter制作一个图片上传表单来改变头像。Twitter说,在我上传之前,图像必须进行base64编码。这是一个样本 到目前为止,我一直在犯错误,我该怎么做呢 PHP代码: <?php // process form data if ($_POST['image']){ // post profile update $post_data = array( "image" => $_POST['i

我正在尝试为twitter制作一个图片上传表单来改变头像。Twitter说,在我上传之前,图像必须进行base64编码。这是一个样本

到目前为止,我一直在犯错误,我该怎么做呢

PHP代码:

<?php // process form data 
    if ($_POST['image']){ 
        // post profile update 
        $post_data = array( 
            "image" => $_POST['image'] 
        ); 

         $post_data = base64_encode($post_data); 

        echo $post_data; 
        } 
        else{ 
        echo     
        "  <form action='post.php' method='POST' enctype='multipart/form-data'> 
<br><input type='hidden' name='image' value='update_profile_image'> 

    <input type='file' name='image' size='30'/><br> 

    <input type='submit' value='Upload' class='button'/> 


    </form>";} 

    ?>

从外观上看,您根本无法从帖子中检索图像。图像本身将在
$\u文件中提供

// See what's in $_FILES
var_dump($_FILES);

// You need the temporary name of your image from $_FILES
$filedata = file_get_contents($_FILES['image']['tmp_name']);
$post_data = base64_encode($filedata);

// Now you should have a base64 ascii string
echo $post_data;
这应该可以做到。 将上载的文件移动到目录中,因为无法通过加密[tmp_name]获得所需的结果

if ($_FILES['image']){

move_uploaded_file($_FILES["image"]["tmp_name"], "path" .basename($_FILES["image"]["name"]));
$meh = file_get_contents("path/" .basename($_FILES["image"]["name"]));
$results = base64_encode($meh);
}

变量
$im
中有什么,它设置在哪里?base64\u encode()希望参数1是字符串,数组在第7行的C:\wamp\www\php\post.php中给出。为什么要使用$\u post来获取文件?相反,应该使用$\u文件来检索图像等文件。检查@Michael solution。我试过这个。我上传的每一张图片都给了我相同的基数64code@boobieee抱歉-我忘了使用
file\u get\u contents()
获取实际的文件二进制数据。见上面的变化。