如何使用记录插入向导上传文件? Dreamweaver中的PHP

问题描述:

这里是插入代码的PHP如何使用记录插入向导上传文件? Dreamweaver中的PHP

<?php 
if (!function_exists("GetSQLValueString")) { 
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{ 
    if (PHP_VERSION < 6) { 
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 
    } 

    $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); 

    switch ($theType) { 
    case "text": 
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
     break;  
    case "long": 
    case "int": 
     $theValue = ($theValue != "") ? intval($theValue) : "NULL"; 
     break; 
    case "double": 
     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 
     break; 
    case "date": 
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
     break; 
    case "defined": 
     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 
     break; 
    } 
    return $theValue; 
} 
} 

$editFormAction = $_SERVER['PHP_SELF']; 
if (isset($_SERVER['QUERY_STRING'])) { 
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); 
} 

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { 
    $insertSQL = sprintf("INSERT INTO siswa (NISN, Kode_KK, Nama_Siswa, Alamat_Siswa, Tgl_Lahir, Foto_siswa) VALUES (%s, %s, %s, %s, %s, %s)", 
         GetSQLValueString($_POST['NISN'], "int"), 
         GetSQLValueString($_POST['Kode_KK'], "int"), 
         GetSQLValueString($_POST['Nama_Siswa'], "text"), 
         GetSQLValueString($_POST['Alamat_Siswa'], "text"), 
         GetSQLValueString($_POST['Tgl_Lahir'], "date"), 
         GetSQLValueString($_POST['Foto_siswa'], "text")); 

    mysql_select_db($database_praukkcon, $praukkcon); 
    $Result1 = mysql_query($insertSQL, $praukkcon) or die(mysql_error()); 
} 
?> 

这里是我的插入表单代码

<form method="post" name="form1" action="<?php echo $editFormAction; ?>" enctype="multipart/form-data"> 
    <table width="490" height="308" align="center"> 
    <tr valign="baseline"> 
     <td height="24" align="right" valign="middle" nowrap><div align="center">NISN:</div></td> 
     <td valign="middle"><input type="text" name="NISN" value="MAKS 10" size="32" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'MAKS 10';}"></td> 
    </tr> 
    <tr valign="baseline"> 
     <td height="24" align="right" valign="middle" nowrap><div align="center">Kode_KK:</div></td> 
     <td valign="middle"><input type="text" name="Kode_KK" value="MAKS 4" size="32" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'MAKS 4';}"></td> 
    </tr> 
    <tr valign="baseline"> 
     <td height="24" align="right" valign="middle" nowrap><div align="center">Nama_Siswa:</div></td> 
     <td valign="middle"><input type="text" name="Nama_Siswa" value="MAKS 50" size="32" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'MAKS 50';}"></td> 
    </tr> 
    <tr valign="baseline"> 
     <td height="24" align="right" valign="middle" nowrap><div align="center">Alamat_Siswa:</div></td> 
     <td valign="middle"><input type="text" name="Alamat_Siswa" value="" size="32">  </td> 
    </tr> 
    <tr valign="baseline"> 
     <td height="24" align="right" valign="middle" nowrap><div align="center">Tgl_Lahir:</div></td> 
     <td valign="middle"><input type="text" name="Tgl_Lahir" value="YYYY-MM-DD" size="32" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'YYYY-MM-DD';}"></td> 
    </tr> 
    <tr valign="baseline"> 
     <td height="24" align="right" valign="middle" nowrap><div align="center">Foto_siswa:</div></td> 
     <td valign="middle"><input type="file" name="Foto_siswa" value="" size="32">  </td> 
    </tr> 
    <tr valign="baseline"> 
     <td height="26" align="right" valign="middle" nowrap><div align="center"></div></td> 
     <td valign="middle"><div align="center"> 
     <input type="submit" value="INSERT DATA"> 
     </div></td> 
    </tr> 
    </table> 
    <input type="hidden" name="MM_insert" value="form1"> 
</form> 

这一切,如果youre想知道哪里是连接代码,我用使用包括这种形式。所以连接功能在主页面。

+0

我想知道什么是您的当前代码的问题; DW功能通常也过时了。你在使用'mysql_'函数吗? – chris85

+0

我想上传文件,但我不知道在哪里放什么。我在互联网上搜索所有,但他们使用自己的插入代码。我使用的是录制插入向导。 –

+0

该文件是图像类型。所以我需要它被存储在特定的文件夹中。我只是不知道这样做的代码。唯一存储的是文件的名称。但确切的文件不在文件夹中 –

嗨,你可以试试这个代码,请确保你会理解注释说明上传文件。 1:当首次使用文件上传器时,我们使用表单标签中的enctype =“multipart/form-data”。

2:文件正在使用$ _FILES数组没有_POST $

3后门柱检索:我们可以直接保存在数据库文件或目录

我:如果您直接在数据库保存文件,那么你应该在db列名中使用blob数据类型。

ii:如果将文件保存在目录中并将其名称保存为db。 [我在你的代码解释相同的东西]

<?php 
if (!function_exists("GetSQLValueString")) { 

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{ 

    if (PHP_VERSION < 6) { 

    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 

    } 

    $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); 


    switch ($theType) { 

    case "text": 

     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 

     break;  

    case "long": 

    case "int": 

     $theValue = ($theValue != "") ? intval($theValue) : "NULL"; 

     break; 

    case "double": 

     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 

break; 
    case "date": 

     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 

     break; 

    case "defined": 

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 

break; 

    } 

    return $theValue; 

} 

} 


$editFormAction = $_SERVER['PHP_SELF']; 

if (isset($_SERVER['QUERY_STRING'])) { 

    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); 

} 


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { 

//Here First upload a files in physical(drive) location 

$_FileNameToSave = ''; //If file is not uploaded then initialize it value balnk 

$target_file = '/fileuploader'; //put here your uploaded directory name or create a folder "fileuploader" in your project root directory 

    if($_FILES['Foto_siswa']['name'] && sizeof($_FILES['Foto_siswa']['name']) > 0) { 

     if (move_uploaded_file($_FILES["Foto_siswa"]["tmp_name"], $target_file)) 
{ 

      $_FileNameToSave = $_FILES['Foto_siswa']['name']; 

     } 

    } 

    $insertSQL = sprintf("INSERT INTO siswa (NISN, Kode_KK, Nama_Siswa, Alamat_Siswa, Tgl_Lahir, Foto_siswa) 
VALUES (%s, %s, %s, %s, %s, %s)", 

GetSQLValueString($_POST['NISN'], "int"), 

GetSQLValueString($_POST['Kode_KK'], "int"), 

GetSQLValueString($_POST['Nama_Siswa'], "text"), 

         GetSQLValueString($_POST['Alamat_Siswa'], "text"), 

         GetSQLValueString($_POST['Tgl_Lahir'], "date"), 

         GetSQLValueString($_FileNameToSave, "text"));//file name to save in db 


    mysql_select_db($database_praukkcon, $praukkcon); 

    $Result1 = mysql_query($insertSQL, $praukkcon) or die(mysql_error()); 

} 

?> 
+0

非法字符串偏移'Foto_siswa'在...下一步该怎么办? –

+0

现在出来了:警告:move_uploaded_file(/ foto):无法打开流:权限被拒绝在C:\ xampp \ htdocs \ praukk \ admin \ Insert \ insertsiswa.php 45行 Warning:move_uploaded_file():Unable将45行上的C:\ xampp \ htdocs \ praukk \ admin \ Insert \ insertsiswa.php中的'C:\ xampp \ tmp \ php6F85.tmp'移动到'/ foto' 'Foto_siswa'列不能为空 –

+0

我改变已经是blob的数据类型。也im通过此插入上传文件。不直接把文件放在一个文件夹中 –