2013-02-17 136 views
3

我使用下面的代码来访问html 5摄像头并将图片上传到服务器。HTML 5使用php的摄像头访问和上传文件

HTML代码

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="image" accept="image/*" capture> 
    <input type="submit" value="Upload"> 
</form> 

upload.php的代码

<?php 
$target_path = "upload/"; 

$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
    echo "The file ". basename($_FILES['uploadedfile']['name']). 
    " has been uploaded"; 
} else{ 
    echo "There was an error uploading the file, please try again!"; 
} 
?> 

问题是,当我测试它显示的代码“有一个上传文件时出错,请重试!” 。任何人都可以帮我弄清楚问题出在哪里?

下面的代码适合我。

HTML代码:

<form enctype="multipart/form-data" action="upload.php" method="POST"> 
<input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
Choose a file to upload: <input name="uploadedfile" type="file" /><br /> 
<input type="submit" value="Upload File" /> 
</form> 

PHP代码是与上述相同。

在此先感谢。

+0

'move_uploaded_file()'的输出是什么?您可能无权将文件放入目标文件夹或发生其他错误。检查你的错误日志。 – chrki 2013-02-17 11:51:00

回答

7

在第一种情况下,当第二种情况命名为'已上传文件'时,您的文件输入名称被命名为'图像'。你的PHP期待'uploadedfile'。

为了解决这个问题,你需要改变你的代码(第一种情况)来:

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="uploadedfile" accept="image/*" capture> 
    <input type="submit" value="Upload"> 
</form> 
+0

感谢它的工作。非常愚蠢的错误。 – 2013-02-17 12:44:04

3

如果你想使用HTML5和设备的摄像头,还有一个HTML5功能对于这样的: 例: <input type="file" accept="image/*" capture="camera" />

从这里:https://coderwall.com/p/epwmoa

它的工作对Android版Chrome(与三星Galaxy S2)。