Imagick は中国語のファイル名をロードできません
Imagick 无法载入中文文件名
Imagick 无法载入中文文件名
<?php<br /> <br /> <br /> $filepath = 'F:\\';<br /> $filename="哈.tif";<br /> <br /> $encoded_filename = urlencode($filename);<br /> $encoded_filename = str_replace("+", "%20", $encoded_filename);<br /> <br /> //$filename = iconv('utf-8', 'gb2312', $filename);<br /> $jpgfilename = substr($filename,0,strrpos($filename,'.')).'.jpg';<br /> $im = new Imagick($filepath.$filename);<br /> $im->thumbnailImage(1200, 0);<br /> <br /> $width = $im->getImageWidth() ;<br /> $height = $im->getImageHeight();<br /> $width800 = 1200;<br /> $height800 = 1200*$height/$width;<br /> $canvas = new Imagick();<br /> $canvas->newImage($width, $height, '');<br /> $canvas->setImageFormat("jpeg");<br /> $canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);<br /> $canvas->writeImage($filepath.$jpgfilename);<br /> ?>
$im = new Imagick($filepath.$filename);
到这一步就会报错:
Uncaught exception 'ImagickException' with message 'unable to open image `F:\哈.tif': No such file or directory @ error/blob.c/OpenBlob/2638' in F:\workspace\test\1.php:12
Stack trace:
#0 F:\workspace\test\1.php(12): Imagick->__construct('F:\??.tif')
#1 {main}
thrown
------解决方案--------------------
那大哥您就别用中文文件名成不
看这个情况应该是这个包只支持utf-8的文件名,你在linux下跑估计就没什么问题了
------解决方案--------------------
参考一下这个吧
http://s.yanghao.org/program/viewdetail.php?i=91439
------解决方案--------------------
关于中文或其他多字节文件名的问题(仅限windows)
这是php的死症――php不能读取windows里面的unicode文件名,但其他系统可以
因为其他系统的unicode文件名多为utf-8编码,windows是特殊的混合编码
但php可以读取符合本地系统codepage的文件名,例如简体windows读取汉字(常用,限gb2312/GBK以内,如果有unicode extent汉字因为超出936的codepage也不属此列)的文件名没有问题,但为何web的php不行,因为apache……再次无解
所以php处理多字节windows符合本地codepage文件名只能绝对路径方式,处理unicode文件名只能用取巧的方式(短路径)+com,其他函数基本无力

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pythonは、Windows、Unix、Linux、Macintoshなどの一般的なプラットフォームを含むさまざまなプラットフォームで実行できます。この記事では、WindowsオペレーティングシステムにPythonをインストールするプロセスを詳細に紹介します。私のオペレーティングシステムは、Windows 7、32ビットバージョンです。 Pythonをインストールするときは、ソースコードからインストールするか、インストール用にすでにコンパイルされたバイナリバージョンを選択することを選択できます。私はここで後者を選びました。ステップ1インストールパッケージをダウンロードします。 Pythonの公式Webサイトhttp://www.python.orgからPythonのインストールパッケージをダウンロードします。私が選択したバージョンは次のとおりです:python-3.3.2.msiクリックしてダウンロード、i

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

Web開発デザインは有望なキャリア分野です。ただし、この業界は多くの課題にも直面しています。より多くの企業やブランドがオンライン市場に目を向けるにつれて、Web開発者は自分のスキルを実証し、キャリアを成功させる機会があります。ただし、Web開発の需要が増え続けているため、開発者の数も増加しており、その結果、ますます激しい競争が発生しています。しかし、才能と意志があれば、ユニークなデザインやアイデアを作成する新しい方法をいつでも見つけることができるのはエキサイティングです。 Web開発者として、新しいツールとリソースを探し続ける必要があるかもしれません。これらの新しいツールとリソースは、仕事をより便利にするだけでなく、仕事の品質を向上させるため、より多くのビジネスと顧客を獲得するのに役立ちます。 Web開発の傾向は絶えず変化しています。

1. .NETCOREの起源.NetCoreについて話すとき、その前身.NETについて言及してはなりません。ジャワは当時脚光を浴びていて、マイクロソフトもジャワを支持しました。 Windowsプラットフォーム上のJava仮想マシンは、JVM標準に基づいてMicrosoftによって開発されました。当時の最高のパフォーマンスJava仮想マシンと言われています。ただし、Microsoftには独自の小さなAbacusがあり、WindowsプラットフォームでJavaをバンドルし、Windows固有の機能を追加しようとしています。 Sunのこれに対する不満は、2つの政党間の関係の内訳につながり、Microsoftは.NETを立ち上げました。 .NETは、Javaの設立以来、Javaの多くの機能を借りており、言語機能とフォーム開発のJavaを徐々に上回っています。バージョン1.6のJava

依存関係注射(DI)を使用する理由は、コードのゆるい結合、テスト可能性、および保守性を促進するためです。 1)コンストラクターを使用して依存関係を注入します。2)サービスロケーターの使用を避け、3)依存関係噴射コンテナを使用して依存関係を管理する、4)依存関係を注入することでテスト可能性を向上させる、5)注入依存性を回避、6)パフォーマンスに対するDIの影響を考慮します。

PhpMyAdminは、Webインターフェイスを介してMySQLデータベース管理を簡素化します。 1)データベースとテーブルの作成:グラフィカルインターフェイスを使用して簡単に動作します。 2)複雑なクエリを実行する:SQLエディターを介して実装されたJoin Queryなど。 3)最適化とベストプラクティス:SQLクエリの最適化、インデックス管理、データバックアップを含む。

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl
