3 回答
TA贡献1864条经验 获得超2个赞
您使用的是不是在 PHP 中存储文件的好方法。
在存储图像之前,您应该将当前日期和一些由 PHP 生成的随机数作为图像名称的前缀,因为如果将两个图像存储在服务器的同一文件夹中,则服务器的第一个图像将被覆盖,第二个文件将存储在其位置第一个完全消失的图像
尝试在date('Ymdhis').rand(100000,999999)
您的图像文件中添加前缀“ ”并使用$_FILES['something']['name']
和$_FILES['something']['tmp_name']
分别获取图像的名称和临时名称以存储图像
TA贡献1799条经验 获得超8个赞
我现在已经解决了这个问题。我不得不修改 html 中的 javascript 以包含一个带有文本输入框中值的 var 并更新 ajax 以将其包含在数据行中。
<script type='text/javascript'>
function screenshot(){
html2canvas(document.body).then(function(canvas) {
// Get base64URL
var base64URL = canvas.toDataURL('image/jpeg').replace('image/jpeg', 'image/octet-stream');
var val1 = $('#datepicker').val();
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
});
});
}
</script>
然后我必须用文件名更新 php 文件,以在文件名中包含表单中的 txt 数据:
<?php
$image = $_POST['image'];
$location = "upload/";
$image_parts = explode(";base64,", $image);
$image_base64 = base64_decode($image_parts[1]);
$filename = $_POST['datepicker'].'.jpg';
$file = $location . $filename;
file_put_contents($file, $image_base64);
?>
- 3 回答
- 0 关注
- 122 浏览
添加回答
举报