我希望somone可以帮助我解决一些我正在努力的方案。
它的基础是我有一个带有文件上传的PHP表单,我想提交给mysql,并将文件上传到我的上传文件夹,以便它在服务器上。
我目前已经设置了所有PHP表单并将所有文本提交给mysql,我正在努力的是将文件上传到服务器并将上传的文件链接到mysql。我希望这是有道理的。
这是我到目前为止的代码:
<!-- PHP CONNECTION -->
<?php include 'db-connect.php';
$sql="INSERT INTO invoices (companyname, email, address, price, file)
VALUES
('$_POST[companyname]','$_POST[email]','$_POST[address]','$_POST[price]','$_POST[file]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "Project created";
mysqli_close($con);
?>
如果有人能帮助我,我将不胜感激
答案 0 :(得分:3)
使用input type =“file”并在php中使用$ _FILES代替$ _POST,
别忘了在形式上添加enctype =“multipart / form-data”。
创建一个文件夹并在$ filename中添加目标路径和文件名(此处为FOLDER)
<!-- your html input type must be file --> <input type="file" name="file"/> <?php include 'db-connect.php'; if($_FILES["file"]["error"]>0) { echo "FILE ERROR"; die(); } $filename = "FOLDER/".$_FILES["file"]["name"]; // move file to a folder if (!move_uploaded_file($_FILES["file"]["tmp_name"], $filename)) { // change target path echo "Sorry, there was an error uploading your file."; die(); } $sql="INSERT INTO invoices (companyname, email, address, price, file) VALUES ('$_POST[companyname]','$_POST[email]','$_POST[address]','$_POST[price]','$filename')"; if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); } echo "Project created"; mysqli_close($con); ?>
答案 1 :(得分:0)
您应首先在服务器上传文件,然后将地址插入数据库,就像这个简单的上传代码一样:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$image= $_POST['image'];
$sid = "usr1";
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") || ($ext == "png") && ($_FILES["uploaded_file"]["type"] == "image/png") || ($ext == "gif") && ($_FILES["uploaded_file"]["type"] == "image/gif") && ($_FILES["uploaded_file"]["size"] < 550000)) {
$midname = "test" ;
$filename2 = $sid.'_'.$midname.'.jpeg';
$newname = dirname(__FILE__).'/avatars/'.$filename2;
$filead = 'avatars/'.$filename2;
if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
if($image !== ""){
unlink($image);
}
echo "<img src=\"$filead\" title=\"pic\" /><br/>";
echo "UPLOADED";
}
} else {
echo "BIG FILE.";
}
}
}
注意:当您要在主机上传文件时,请检查检查扩展名后面的文件标题。