前言: 我每隔几个小时就会从脚本生成一个图像。这些图像将保存到pi的本地文件系统中。我的目标是让网页显示最新图像。我不希望网络服务器在pi上运行。
我尝试过的方法: 我从HTML表单创建了一个php上传处理程序。这将从表单中获取图像,并将其放置在Web服务器文件系统上,然后将ID,文件名,日期和路径插入数据库。我的想法是使用curl将每个图像从pi发布到Web服务器,然后将其上传并插入到数据库中,然后立即从Pi的文件系统中删除。无论出于什么原因,我都无法将其卷曲发布到HTML表单。
我知道这很讨厌。我不想将图像发送到Web服务器,并且每分钟运行一次cron作业来处理任何新文件,因为我希望它是实时的,也不想php进程每分钟都挂出。>
任何想法将不胜感激!
答案 0 :(得分:0)
一种方法可能是:
$data = file_get_contents($path); $save_to_text_field = base64_encode($data);
<img src="data:image/png;base64,
[field] >
答案 1 :(得分:0)
感谢所有看过的人!
我使用curl弄明白了-在我的upload.php中出了点问题
这是curl语法:curl -i -F "file=@/home/pi/xxxxxx/xxxxxxx.png" http://xxxxxxx.com/upload.php
这是有效的upload.php
<?php
include 'dbConfig.php';
$statusMsg = '';
$fileName = basename($_FILES["file"]["name"]);
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
$insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())");
if($insert){
$statusMsg = "The file ".$fileName. " has been uploaded successfully.";
}else{
$statusMsg = "File upload failed, please try again.";
}
}else{
$statusMsg = "Sorry, there was an error uploading your file.";
}
echo $statusMsg;
?>