2015-11-19 6 views
0

Я пытаюсь запустить этот код для ввода изображения с лицевой стороны. Я знаю, что не могу просто загружать изображения, используя только это $_POST['img']. Я читал, что для этой цели я должен использовать file_get_contents(). Но я новичок в этом, я не знаю. Как именно использовать file_get_contents()Невозможно вставить изображения в базу данных с помощью wpdb

Однако я пробовал этот код, но я не увенчался успехом при вставке.

<form action="" method="post"> 
<label id="img">image: <input type="file" name="img" id='media'/></label> 
<input type="submit" name="Submit" value="upload"/> 

<?php 

global $wpdb; 
if($_POST['Submit']) 
{ 
$image=$_POST['img']; 

if($wpdb->insert(
    'image', 
    array(

      'image' => $image 


     ) 
) == false) echo 'Database Insertion failed'; 
else echo 'Database insertion successful<p />'; 
} 
?> 

Это не сработало. После этого я попробовал это. Но все равно безуспешно.

<form action="" method="post"> 
<label id="img">image: <input type="file" name="img" id='media'/></label> 
<input type="submit" name="Submit" value="upload"/> 

<?php 

global $wpdb; 
if($_POST['Submit']) 
{ 
$image=$_POST['img']; 
$item = file_get_contents($_FILES['img']['tmp_name']); 
if($wpdb->insert(
    'image', 
    array(

      'image' => $item 


     ) 
) == false) echo 'Database Insertion failed'; 
else echo 'Database insertion successful<p />'; 
} 
?> 

для этого я получаю предупреждение Warning: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\kite\wp-content\plugins\php-code-widget\execphp.php(27) : eval()'d code on line 11

кто-нибудь пожалуйста, помогите мне.

И в моей базе данных, в таблице «изображение» столбец «изображение» имеет тип данных BLOB, не уверен, что проблема в этом.

Заранее спасибо

ответ

0

Для загрузки файлов необходимо добавить, enctype="multipart/form-data"

<form enctype="multipart/form-data" action="" method="post"> 
    ^      ^

Первая загрузка в какую-нибудь папку, а затем использовать file_get_contents()

if (move_uploaded_file($_FILES['file']['tmp_name'], "your path". $_FILES["file"]['name'])) { 
     // image will get uploaded here 
} 

Затем используйте

file_get_contents("new path") 
+0

Отлично! Это помогло! Я могу вставить сейчас! но, когда я просматриваю свое изображение в базе данных и пытаюсь просмотреть его, я вижу, что изображение повреждено. Я могу видеть часть изображения, но не заполнен. пожалуйста, предложите что-нибудь для этого. – kusum

+0

Можете ли вы показать, что ??? –

+0

изображение перед вставкой: http://imagebin.ca/v/2N3aTdaMsMYd скриншот изображения после вставки: http://imagebin.ca/v/2N3bIqDcRcqK – kusum

Смежные вопросы