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 關注
- 150 瀏覽
添加回答
舉報