日記+趣味+アフィリエイト(+仕事)
 

スポンサーサイト

--/--/--(--) --:--:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


WordPressのインポート処理を改良

2013/05/10(金) 21:37:13
最近あっちやこっちの仕事に手を出しているのですが、

ブログサイトを作成するWordPress で、他のブログのデータをMovableType形式のデータでインポートする際に
1つのブログの記事の文字数が長すぎると、記事が途中で切れてしまい完全にインポートできない
という問題が発生しました。

で、wordPressのコードを追って、これを直してみました。
結論から言うと、無事に解決できました。

googleで調べてみたところ同じ現象で困っている方が僅かながらいるようでしたが、
良い解決方法はなさそうでした。

編集したのは以下のファイル。
/wp-content/plugins/movabletype-importer/movabletype-importer.php
の102行目辺り。

// function fgets($fp, $len=8192) { ↓に変更
function fgets($fp, $len=81920) {
(wordPressのバージョンは3.5.1です。)

1記事の内容が8192バイトに達した時点で不明なコードが挿入されてしまい、
データベースに格納する時点でそこまでの文章として認識してしまっていたようです。

他に良い修正方法があるかもしれないですが、、暫定措置的には使えるかなぁ、と。
他の方の参考になれば幸いです。^^


コメント
この記事へのコメント
プログラム中の文字列の長さを変えるのはいいけどDBの最大文字列を考慮しないと駄目な気がする。
2013/05/10(金) 22:39 | URL | 狂一 #mQop/nM.[ 編集]
>狂一さん

早速のコメントありがとうございます!
お久しぶりですね。お元気ですか?(^^

>DBの最大文字列を考慮しないと駄目な気がする。
実は最初、それを疑ったんですよ。
でも調べると、MySQLのlongtext型で最大4.2GB使えるそうなので大分余裕があるのかな、と。
http://dev.mysql.com/doc/refman/4.1/ja/column-types.html
2013/05/11(土) 00:30 | URL | AT(管理人) #-[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://atcentral.blog75.fc2.com/tb.php/259-7f4b135e
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。