我只是不清楚如何在過去,我有讓用戶通過表單上傳他們從自己的電腦中選取圖片和JavaScript,像這樣格式化這個 - :上傳圖像文件(不是通過表單,只是在一個文件夾中)通過PHP上傳到MySQL?
$("#uploadimage").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "../php/upload.php", // Url to which the request is send
type: "POST", // Type of request to be send, called as method
data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
contentType: false, // The content type used when sending data to the server.
cache: false, // To unable request pages to be cached
processData:false, // To send DOMDocument or non processed data file it is set to false
success: function(data) // A function to be called if request succeeds
{
}
});
}));
該文件發送到PHP腳本:
if(isset($_FILES["file"]["type"]))
{
$validextensions = array("jpeg", "jpg", "png");
$maxsize = 99999999;
$temporary = explode(".", $_FILES["file"]["name"]);
$file_extension = end($temporary);
if ((($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/jpeg")
) && ($_FILES["file"]["size"] < $maxsize)//Approx. 100kb files can be uploaded.
&& in_array($file_extension, $validextensions)) {
$size = getimagesize($_FILES['file']['tmp_name']);
$type = $size['mime'];
$imgfp = fopen($_FILES['file']['tmp_name'], 'rb');
$size = $size[3];
$name = $_FILES['file']['name'];
$sql = new mysqli("localhost","username","password","sqlserver");
$imgfp64 = base64_encode(stream_get_contents($imgfp));
$update = "UPDATE sqlserver.imageblob set image='".$imgfp64."', image_type='".$type."', image_name='".$name."', image_size='".$size."' where user_id=".$account['id'];
$sql->query($update);
然後,我已經能夠顯示這樣和呼應HTML圖像:
$imgdata = $array['image']; //store img src
$src = 'data:image/jpeg;base64,'.$imgdata;
但現在我需要上傳一個圖片文件次在我已經存儲在一個文件夾中,即../images/image1.png
不是從窗體上傳的文件。
理想我會寫:
$imgfile = "../images/image1.png"
然後插入該到我代替$_FILES['file']['name']
PHP的,但我不知道如何正確地寫出了這一點。我是新來的MySQL,並獲取錯誤消息只是傳遞一個像上面的文件名。
如何將我已存在於我的文件夾中的圖像上載到mysql表中?
我曾嘗試:
也許只是創建一個HTML頁面,使用PHP構建,加載所有的圖像進去。每個圖像都可以有一個onclick處理程序,它會爲它的路徑指定一些javascript變量。然後,您可以使用該路徑發送ajax請求。希望這可以幫助。 – divinemaniac
嘗試'on'('click',(function(e){}));' –
@divinemaniac no我不需要回顯圖像,只需要將它存儲在mysql表中 – skyguy