2016-01-23 4 views
0

Вот код 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> 

Это все, если вам интересно, где код подключения, я использую эту форму, используя включают , поэтому функция соединения находится на главной странице.

+0

Мне интересно, что проблема с вашим текущим кодом; также функции DW обычно устарели. Используете ли вы функции 'mysql_'? – chris85

+0

Я хочу загрузить файл, но я не знаю, где и что положить. Я ищу все в Интернете, но они используют свой собственный код вставки. то, что я использую, является мастером вставки записей. –

+0

Файл имеет тип изображения. поэтому мне нужно, чтобы он хранился в определенной папке. Я просто не знаю код для этого. единственное, что хранится, - это имя файла. Но точного файла нет в папке –

ответ

0

Привет, вы можете попробовать этот код, пожалуйста, убедитесь, что вы поймете, что вы прокомментировали инструкцию по загрузке файлов. 1: когда вы когда-либо используете загрузчик файлов, сначала мы используем enctype = "multipart/form-data" в теге формы.

2: Файлы извлекаются после записи, используя $ _FILES массив не $ _POST

3: Мы можем сохранить файл непосредственно в БД или каталог

я: Если вы сохраняете файлы непосредственно в БД, то вам должен использовать тип данных blob в имени столбца db.

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

теперь это выходит: Warning: move_uploaded_file (/ foto): не удалось открыть поток: разрешено в C: \ xampp \ htdocs \ praukk \ admin \ Insert \ insertsiswa.php в строке 45 Предупреждение: move_uploaded_file(): Не удалось для перемещения 'C: \ xampp \ tmp \ php6F85.tmp' в '/ foto' в C: \ xampp \ htdocs \ praukk \ admin \ Insert \ insertsiswa.php в строке 45 Столбец 'Foto_siswa' не может быть нулевым –

+0

Я меняю уже тип данных для blob. Также я загружаю файл через эту вставку. не напрямую помещать файл в папку –