gpt4 book ai didi

php - 使用 PhoneGap 将照片从 iPhone 上传到 PHP

转载 作者:行者123 更新时间:2023-11-29 20:18:17 24 4
gpt4 key购买 nike

我有一个在 PHP 中工作的简单上传表单(在网络中工作),还能够使用 PhoneGap (base64) 从 iPhone 捕获照片并将其显示在设备上。

但我不知道如何使用 PHP 将它上传到我的服务器。

这是在 PHP 中运行的代码:

索引.PHP

<?
//print_r($_POST);

if($_POST["action"] == "Upload Image")
{
unset($imagename);

if(!isset($_FILES) && isset($HTTP_POST_FILES))
$_FILES = $HTTP_POST_FILES;

if(!isset($_FILES['image_file']))
$error["image_file"] = "An image was not found.";


$imagename = basename($_FILES['image_file']['name']);
//echo $imagename;

if(empty($imagename))
$error["imagename"] = "The name of the image was not found.";

if(empty($error))
{
$newimage = "images/" . $imagename;
//echo $newimage;
$result = @move_uploaded_file($_FILES['image_file']['tmp_name'], $newimage);
if(empty($result))
$error["result"] = "There was an error moving the uploaded file.";
}

}

include("upload_form.php");

if(is_array($error))
{
while(list($key, $val) = each($error))
{
echo $val;
echo "<br>\n";
}
}

include("list_images.php");

?>

这是两个包含...

UPLOAD_FORM.PHP

<form method="POST" enctype="multipart/form-data" name="image_upload_form" action="<?$_SERVER["PHP_SELF"];?>">
<p><input type="file" name="image_file" size="20" value="beautiful.jpg"></p>
<p><input type="submit" value="Upload Image" name="action"></p>
</form>

LIST_IMAGES.PHP

<?
$handle = @opendir("images");

if(!empty($handle))
{
while(false !== ($file = readdir($handle)))
{
if(is_file("images/" . $file))
echo '<img src="images/' . $file . '"><br><br>';
}
}

closedir($handle);
?>

这是在 PhoneGap 中运行在 iPhone 4 (iOS 4.2) 上的代码

INDEX.HTML(运行在PhoneGap的WWW目录下)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<!-- Change this if you want to allow scaling -->
<meta name="viewport" content="width=default-width; user-scalable=yes" />

<meta http-equiv="Content-type" content="text/html; charset=utf-8">

<link type="text/css" rel="stylesheet" href="style.css">



<!-- iPad/iPhone specific css below, add after your main css >
<link rel="stylesheet" media="only screen and (max-device-width: 1024px)" href="ipad.css" type="text/css" />
<link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="iphone.css" type="text/css" />
-->
<!-- If you application is targeting iOS BEFORE 4.0 you MUST put json2.js from http://www.JSON.org/json2.js into your www directory and include it here -->
<script type="text/javascript" charset="utf-8" src="phonegap.0.9.4.min.js"></script>
<script type="text/javascript" charset="utf-8">


// If you want to prevent dragging, uncomment this section
/*
function preventBehavior(e)
{
e.preventDefault();
};
document.addEventListener("touchmove", preventBehavior, false);
*/

function onBodyLoad()
{
document.addEventListener("deviceready",onDeviceReady,false);
}

/* When this function is called, PhoneGap has been initialized and is ready to roll */
function onDeviceReady()
{
// do your thing!
}


function getPicture(sourceType)
{
var options = { quality: 10 };
if (sourceType != undefined) {
options["sourceType"] = sourceType;

}
// if no sourceType specified, the default is CAMERA
navigator.camera.getPicture(getPicture_Success, null, options);
};

function getPicture_Success(imageData)
{
//alert("getpic success");
document.getElementById("test_img").src = "data:image/jpeg;base64," + imageData;


}



</script>
</head>
<body onload="onBodyLoad()" marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>



<h1>Camera</h1>

<img style="width:80px;height:120px" id="test_img" src="" />

<p>

<!-- for testing, add the buttons below -->

<button onclick="getPicture()">From Camera</button>

<p>



<button onclick="getPicture(PictureSourceType.PHOTO_LIBRARY)">From Photo Library</button>




</body>
</html>
</html>

顺便说一下,虽然我可以从设备相机中抓取一张新照片,但我完全无法从库中获取图像...如果有人知道如何做到这一点,我也很感激那里的反馈。

有人能够将照片从 PhoneGap/iPhone 上传到 PHP 吗?非常感谢双方的任何源代码。

最佳答案

Base64 选项实际上只是为了便于在网页上显示。如果不需要,则不要使用它。

我会说你最好的选择是为 Camera.DestinationType 使用 FILE_URI 而不是 DATA_URL

查看 http://docs.phonegap.com/phonegap_camera_camera.md.html了解更多信息

关于php - 使用 PhoneGap 将照片从 iPhone 上传到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5286744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com