使用上传脚本Android在php中接收图像的问题

时间:2011-04-05 21:02:23

标签: php android image upload

我使用此代码上传图片: http://vikaskanani.wordpress.com/2011/01/11/android-upload-image-or-file-using-http-post-multi-part/

我替换了

bm = BitmapFactory.decodeFile("/data/data/fshizzle.com/files/image.jpg");

HttpPost postRequest = new HttpPost("http://10.0.2.2/upload.php");

一切都好!

我无法在php文件中收到信息 如果使用HTML代码

,我使用此代码php工作
<form method="POST" action="upload.php" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>

代码PHP:

$dossier = './upload/';
$fichier = basename($_FILES['sfsdfsdf']['name']);
if(move_uploaded_file($_FILES['sfsdfsdf']['tmp_name'], $dossier . $fichier)) 
//Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
     echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
     echo '<br>Echec de l\'upload !';
}

一个简单的if(isset($_FILES['sfsdfsdf']))不起作用什么是好的代码?

3 个答案:

答案 0 :(得分:0)

如果我理解你的问题,那我昨天也有同样的事情。从您提供的代码看来,它们似乎遗漏了一些关键部分,例如enctype。如果你谷歌上传图片到Android的PHP有一些更好的例子。

如果您选择这样做,请确保将服务器端权限设置为允许php为您正在使用的目录创建,写入和/或读取文件。我发现这个方法真的很痛苦,并且发现将图像转换为base64并将其作为字符串发送到服务器并使用base64字符串创建文件要简单得多。如果你不明白该怎么做(谷歌)让我知道,我会看看我是否可以发给你一些代码。

答案 1 :(得分:0)

一个简单的上传示例,可帮助您更好地了解该过程。

<form method="POST" action="upload.php" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>

upload.php的

<?php 
$dossier = './upload/';
//check for image mime types & under 100kb
if ($_FILES["avatar"]["type"] == "image/jpeg" ||
$_FILES["avatar"]["type"] == "image/png" ||
$_FILES["avatar"]["type"] == "image/gif"
&& $_FILES["avatar"]["size"] < 100000){

    //if server rejects the upload (http://php.net/manual/en/features.file-upload.errors.php)
    if($_FILES["avatar"]["error"] > 0){
        $uploadSuccess='<br>Echec de l\'upload !';
    }else{
        //check if file already exists
        if (file_exists($dossier.$_FILES['avatar']['name'])){
            $uploadSuccess=$_FILES["avatar"]["name"]." already exists.";
        }else{
            //move the uploaded file
            move_uploaded_file($_FILES["avatar"]["tmp_name"],$dossier.$_FILES['avatar']['name']);
            $uploadSuccess='Upload effectué avec succès !';
            //success
        }
    }
}else{$uploadSuccess='<br>Echec de l\'upload !';}

echo $uploadSuccess;
?>

答案 2 :(得分:-1)

解决了我用Mydns和我的真手机测试它的工作。