张居翰,字德卿,宦官张从玫的养子,唐末五代宦官。以养父荫入仕,入为学士院判官,迁枢密承旨、内府令。后出监幽州军,秩满诏归,节度使刘仁恭上表留之。诏诛宦官,刘仁恭将张居翰藏于大安山之北溪,由是得免,后归李克用,监昭义军。不久,后梁将领李思安,筑夹城以围潞州,张居翰与昭义节度使李嗣昭苦战坚守,直至解围,被召为枢密使,加特进,与郭崇韬对掌机务。庄宗入汴后,加骠骑大将军、知内侍省事,仍充枢密使。庄宗灭蜀,蜀主王衍朝京师,行至秦川驿,唐明宗军变,庄宗欲东征,虑王衍有变,遣人驰诏杀之,诏书上说“诛王衍一行”。张居翰以杀降不祥,乃于殿柱上揩去“行”字,改写为“家”字。当时,与王衍东行者有千人,皆获免,明宗即位后,张居翰归田里,病死,年七十一。
张居翰,掖廷令张从玫养以为子,以恩荫走上仕途。唐僖宗逃命至成都,张居翰授容南护军判官,唐昭宗乾宁中,获授学士院承旨,加供奉官内侍,迁枢密承旨、内府令。办事认真,丝毫不苟且,很得上峰赏识,昭宗为嘉奖他办事认真,特地赐以绯色衣服。不久,奉命去监督幽州军事,与幽州节度使刘仁恭相处得很融洽,当昭宗调张居翰回朝时,刘仁恭请求将张居翰留下,昭宗答应了这个要求。
军阀朱全忠与宰相崔胤,联名上奏昭宗说:“国初承平之时,宦官不典兵预政,宦官势力逐渐强大。贞元末年分羽林军为左右神策军,用来扈卫天子,以宦官掌管,从此宦官参与机密,夺百官之权,上下勾结,共为不法。大则构煽藩镇,倾危国家,小则卖官鬻爵,矗害朝政,王室袁乱,即是这个原因。不翦除这个祸根,祸患便不会停止,请陛下翻夺宦官所兼的职务,罢诸道宦官监军,悉数召还。”当时,昭宗已在他们控制之下,身不由己,只得表示同意。
朱全忠便以兵驱逐宦官第五可范等效百人于内侍省杀之,只有河东监军张承业、幽州监军张居翰等数人得免于难。张居翰由于与刘仁恭有旧谊,刘仁恭接到命令后,将张居翰藏匿在幽州西北的大安山中,另外杀了一名罪犯上报,张居翰这才躲过了厄运。从此,张居翰便隐姓埋名在幽州住了下来。
梁太祖朱温率兵进攻沧州,沧州属刘仁恭辖区,刘仁恭亲自往救,但屡战屡败。刘仁恭眼看不能打败梁军,军情又急如星火,无奈只得派人向太原李克用求救,前后派出百余人之多。
李克用采取围魏救赵之策,进攻潞州以解沧州之围,向刘仁恭征兵。刘仁恭遣部将李溥、夏侯景、监军张居翰、书记马郁等以兵三万来会。李克用派大将周德威、李嗣昭会合幽州之兵进攻泽、潞二州。后梁潞州守将丁会开门迎降,围攻沧州的后梁军队听说潞州失守,便仓皇烧营而遁。在这次战役中,张居翰居中运筹,立下了功劳,李克用见他精明强干,便留而不遣,从此张居翰成了李克用的爱将。不久,李嗣昭受命节制昭义军,以张居翰为监军,并拨燕军三干归他指挥,在潞州时,除了训练士兵外,每年春天还“课人育蔬种树,敦本惠农”,颇受百姓欢迎。
后梁大将李思安,将兵十万围攻潞州,想从李克用手中夺回这座失陷一年的城池,李思安修筑夹城,深沟高垒,内外重叠,把潞州围了个水泄不通,张居翰与李嗣昭率领士卒,登城拒守。朱温多次给张居翰、李嗣昭写信,劝二人投降,并许诺如若来归,定不吝爵禄之赏。张居翰、李嗣昭不为所动,焚其诏书,斩其使者,固守经年。城中军民衣服不继,赖张居翰等惨淡经营,多方运筹,民心才稍稍安定,由于晋军防守严密,梁军虽然在数量上占有优势,但在张居翰等的守御面前却一筹莫展。
晋王李克用病逝,李存勖袭位于晋阳,时年二十四岁。李存勖在张承业等人的劝说下,亲自军兵从太原出发救援潞州,后梁军没料到后唐军突然赶来,毫无斗志,争先恐后向南逃窜,一路上丢盔卸甲,道路为之堵塞。潞州城中的张居翰、李嗣昭等见救兵已到,便抖擞精神自城中杀出,里应外合,内外夹击,梁兵大败,死亡一万余人,生擒其副招讨使符道昭及将佐三百人,缴获当粟百万石。张居翰守城有功,又与李嗣昭配合默契。从此,李嗣昭每次出征,便让张居翰留后,张居翰抚绥士卒,护理百姓,一切都治理得井井有条,得到了庄宗的赞扬。
李存勖灭梁称帝,大封群臣。当时,宦官马绍宏与大将郭崇韬资格最老,功劳最大,二人当为掌兵权的枢密使,而马绍宏的资历高于郭崇韬,此人后来赐姓为李,他诬杀大臣,收受赌路,作威作福,天下人多怨之。
郭崇韬怕他日后掌权难于驾驭,便奏请资历比自己低的张居翰同掌枢密,另委马绍宏为宣徽使,马绍宏埋怨不已。郭崇韬专权跋扈,又嫉恨宦官,因此张居翰虽备位枢密使,不过是随人俯仰而已,手中没有任何权力。每次商议国家大事,张居翰都不发表自己的意见,只是唯唯诺诺,十分低调。这样,他才得以保全性命,没有遭到郭崇韬的迫害。
庄宗命太子李继岌、枢密使郭崇韬出征前蜀,蜀主王衍的养兄王宗弼暗地里向郭崇韬投降,请求封自己为兵马留后,郭崇韬许以节度使之职。后唐军至成都,王宗弼迁王衍于西官,收成都尹韩昭、宦官宋光嗣等杀之,将首级送给李继岌,王衍自知抵挡不住,上表乞降。继岌入成都时,王衍身穿白衣,衔壁牵羊,以草绳系颈,迎降道左,庄宗召王衍赴洛阳,并赐诏书说:“固当列土而封,必不薄人于险,三辰在上,一言不欺!”
当王衍行至秦川驿时,突然传来了李嗣源在魏州反叛的消息,庄宗李存勖慌忙东征平叛。大军将从洛阳出发时,伶人景进献计说:“李嗣源来势凶猛,陛下应狮子搏兔,全力以赴。如今太子继岌远在成都未归,陛下跨河东征,国内必然空虚。王衍族党不少,一旦为乱,局势将不可收拾,不如将其杀掉,以免除后患。”庄宗当下便派宦官向延嗣下敕诛杀王衍,并下诏说:“王衍一行,并宜杀戮。”张居翰在复查诏书时,认为王衍既已投降,现在又出尔反尔,把他斩首,实在太不合天理人情,便将诏书贴在柱子上,将‘行’字涂掉,改为家’字,于是“王衍一行”,便成了“王衍一家”。
擅改诏书是要冒杀头风险的,所幸的是,向延嗣根本没有想到张居翰居然有勇气偷改诏书,因而接到诏书时并未怀疑。更何况当时军书旁午,羽檄飞驰,庄宗自顾不暇,当然也无心追究此事了。这样,前蜀百官及王衍的仆役等一千余人的生命,才得以保全。
后来,庄宗李存勖被弑,明宗李嗣源进入洛阳,张居翰谒见于至德宫,请求免官放归田里,得到了明宗的批准。张居翰辞朝后归隐长安,病逝,终年七十一岁,葬于长安县龙门乡峦村。