我已經僱傭了Cloudatcost,並且我已經配置了Ubuntu服務器,安裝了LAMP並上傳了我的網頁。 我有一個部分,我上傳一些文本字段和圖像,問題是圖像沒有上傳,但是當我在本地運行我的頁面時,它的工作原理。Insert_id不能在網上上傳到服務器上
我插入的代碼是這樣的:
function insert($title, $intro, $body, $data ,$date, $someid, $Myimage, $somesection){
$ID = null;
$mysqli = openConnection(); <- starts connection
$query = "INSERT INTO columnsa (title, intro, body, data, date, someid) VALUES (?, ?, ?, ?, ?, ?)";
if ($stmt = $mysqli->prepare($query))
{
$stmt->bind_param(
'sssssi', $title, $intro, $body, $data, $date, $someid);
/* Execution*/
$stmt->execute();
$ID = $mysqli->insert_id;
/* Close query */
$stmt->close();
}
if($ID)
{
if ($image != null) {
insertImg($image, $ID, $section);
closeConnection($mysqli);
return true;
}
}
else
{
closeConnection($mysqli);
return false;
}
}
我的插入圖像是:
function insertImg($image, $ID, $section)
{
switch ($seccion) {
case "journey":
move_uploaded_file($imagen['tmp_name'], "../../img/journeys/".$ID.".jpg");
break;
case "column":
move_uploaded_file($imagen['tmp_name'], "../../img/bolumns/".$ID.".jpg");
break;
case "blog":
move_uploaded_file($imagen['tmp_name'], "../../img/blogs/".$ID.".jpg");
break;
}
}
我猜,也許我忘了安裝PHP5的模塊,因爲線
$ID = $mysqli->insert_id;
/* Close query */
$stmt->close();
}
if($ID)
{
if ($image != null) {
insertImg($image, $ID, $section);
closeConnection($mysqli);
return true;
}
}
else
{
closeConnection($mysqli);
return false;
}
似乎沒有工作。任何想法哪個php5模塊包含insert_id? 謝謝!
似乎更有可能是關於在服務器的文件系統中創建文件的權限問題 – Hiren
有沒有辦法在Ubuntu服務器授予權限? –
取決於您使用主機託管的類型(Cloudatcost)。一些主機提供了一個文件管理器來允許你設置權限,一些允許你有限制的shell訪問等等。 – Hiren