我在使用代码时遇到困难。我正在尝试将文件上传到服务器文件夹并插入到SQL BLOB中。两者都不起作用。有什么建议么?
<?php mysql_connect ("host","user","pass")
mysql_select_db("pics")
$image= addslashes($_FILES['file']['tmp_name']);
$name= addslashes($_FILES['file']['name']);
$image= file_get_contents($image);
$image= base64_encode($image);
if (move_uploaded_file ($_FILES["file"]["tmp_name"], "http://www.website.com/uploads/".$_FILES["file"]["name"])) {
$insert = mysql_query ("INSERT INTO pics (name,file) values ('$name','$image')");
}
else "error uploading query to database";
?>
最佳答案
首先(同意@ AMartinNo1)不要使用mysql函数,而要使用PDO。
同样(再一次与@ AMartinNo1达成一致)move_uploaded_file
的第二个参数必须是服务器上文件的路径(文件系统路径)。
$pdo = new PDO('mysql:dbname=pics;host=host', 'user', 'pass');
$image = addslashes($_FILES['file']['tmp_name']);
$name = addslashes($_FILES['file']['name']);
$image = file_get_contents($image);
$image = base64_encode($image);
if (move_uploaded_file($_FILES['file']['tmp_name'], '/tmp/myUploadedFile')) {
$s = $dbh->prepare('INSERT INTO pics (name, file) VALUES (:name, :file)');
$s->bindValue(':name', $name, PDO::PARAM_STR);
$s->bindValue(':file', $image, PDO::PARAM_STR);
if (!$s->execute()) {
throw new Exception($s->errorInfo());
}
}
关于php - PHP move_uploaded_file到SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31280273/