我試圖上傳文件到數據庫(使用PHP和MySQL)。我可以成功上傳文件並將其路徑保存在一張表中,但是當我嘗試將文件上傳到另一張表格時,出現如下錯誤:move_uploaded_file:未能打開流。但是,如果我創建另一個數據庫,我可以再次成功上傳文件。我只能將文件上傳到同一個數據庫中的一個表中,而不是多個表中?由於我的項目的設計,我想上傳文件到同一個數據庫中的2個表格,有人能告訴我該怎麼做嗎? 這是可以成功上傳文件的代碼,該表的名稱是照片:PHP的mysql成功上傳文件到一個表,但不是其他
<?php
include('config.php');
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$description=$_POST['description'];
$save=mysql_query("INSERT INTO photos (location, description) VALUES ('$location','$description')");
}
?>
我嘗試通過以下code.i簡單地改變照片photos2上傳文件到另一臺,photos2是另一個表
<?php
include('config.php');
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos2/" $_FILES["image"]["name"]);
$location="photos2/" . $_FILES["image"]["name"];
$description=$_POST['description'];
$save=mysql_query("INSERT INTO photos2 (location, description) VALUES ('$location','$description')");
}
?>
的名字,我得到了以下錯誤: 警告:move_uploaded_file:未能打開流:沒有這樣的文件或目錄 move_uploaded_file()以:無法移動「C:\ XAMPP \ tmp目錄\ php1793。 tmp'到'photos2/1.png'
此外,我知道mysql已被棄用,我需要將其更改爲mysqli,我將在未來這樣做,現在我只想知道如何將文件上傳到同一數據庫中的2個表。
更新:我認爲我說我的問題的方式導致我不必要的混淆。這就是我所說的「上傳到2張桌子」:我在我的網站上有兩個頁面,我們稱他們爲頁面A和頁面B,用戶可以在頁面A和頁面B上傳照片,從頁面A上傳的照片只能看到在頁面A上,同樣,從頁面B上傳的照片只能在頁面B上看到。因此,創建2個獨立的表格來存儲照片是有意義的。如果它們存儲在同一個表中,那麼在每個頁面上,當我(「選擇*從照片」中選擇)時,查詢將搜索從其他頁面上傳的所有照片,這是不必要的。我不需要同時將相同的照片上傳到兩個不同的表格。
儘管您收到的錯誤信息是由於丟失的**文件夾**(稱爲photos2),您嘗試的嘗試肯定是可能的。你是否試圖上傳到相同的文件夾,只需更改表格?如果是這樣,請將'move_uploaded_file'和'$ location'中的'photos2'改爲'photos'。否則,請創建'photos2'文件夾:) –
否。這是因爲他試圖移動的文件不再存在,因爲他已經移動了它。 – junkfoodjunkie
*「現在我只想知道如何將文件上傳到同一個數據庫中的2個表」* - 什麼;在同一時間還是在不同的操作?你的問題不清楚。 –