Как загрузить программно картинку в графическое поле CCK?

Главные вкладки

Аватар пользователя muxoh muxoh 18 ноября 2007 в 3:51

Делаю загрузку базы из csv файла...
Как загружать текстовые поля разобрался.
Но как графичексие поля заполнить, пока не догоняю.
Подскажите, люди добрые...

Комментарии

Аватар пользователя Dimm Dimm 18 ноября 2007 в 15:53

Разбирайся:
Читал строки из таблицы с прошлого сайта и заполнял таблицы друпала files и content_type_product, одновременно копировал файлы в нужную папку.
Не забудь почистить cache_content
<?php
$host_name = 'localhost';
$user_name = 'root';
$user_pass = '';
$db_name = 'km3';
$table_name = 'products';
$file_name = 'images.cvs';
$link = mysql_connect($host_name, $user_name, $user_pass) or die('Could not connect: ' . mysql_error());
mysql_select_db($db_name) or die('Could not select database');
$query = 'SELECT * FROM `content_type_product` ';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
//echo '' . "\n";
$xml_data = '';
$i = 0;
while ($line = mysql_fetch_array($result)) {

$data=$line[field_products_image_import_value];
if($data!=''){

echo "./img/$data\n";
echo file_directory_path() ."/images/products/$data\n\n";
// $node = node_load($line[nid]);
$file_temp = file_get_contents("./img/$data");
$file_temp = file_save_data($file_temp, file_directory_path() ."/images/products/$data", FILE_EXISTS_RENAME);

$file_fid = db_next_id('{files}_fid');
db_query("INSERT into {files} (fid, nid, filename, filepath, filemime, filesize)
VALUES (%d, %d, '%s','%s','%s',%d)",
$file_fid, $line[nid], $data, $file_temp, 'image/jpeg', filesize($file_temp));

//print "

";
//print_r($file_temp);
//print "

";
// node_save($node);

$query_upd = "UPDATE `content_type_product` SET
`field_products_image_fid` = '$file_fid',
`field_products_image_alt` = '$data',
`field_products_image_title` = '$data'
WHERE `nid` = '$line[nid]' ";
$result_upd = mysql_query($query_upd) or die('Query failed: ' . mysql_error());
$xml_data .= '"'.$query_upd.'",';
echo $query_upd;

$xml_data .= "\n";

}
// $xml_data .= '"'.print_r($line).'",';
}

$query_clear = "TRUNCATE TABLE `cache_content`";
$result_clear = mysql_query($query_clear) or die('Query failed: ' . mysql_error());

//$xml_data .= "";
echo htmlspecialchars($xml_data);
echo '';

mysql_free_result($result);

mysql_close($link);

?>