PHP による LAN 共有ファイルへのアクセス

WBOY
リリース: 2016-06-23 14:09:24
オリジナル
3543 人が閲覧しました

みなさん、こんにちは! LAN内の別のコンピュータにある画像ファイルにアクセスしたいのですが、PHPで画像ファイルが見つかりません。 PHP で filesize を使用して画像のサイズをテストしても機能しません。コードは次のとおりです:
$filename = "http://172.16.18.123/pic/2012.png";
$size = filename($filename);
echo $size; 報告されるエラーは次のとおりです: 警告: filesize( ) [function.filesize]: http://172.16.12.103 の統計に失敗しました...
2 台のマシンが同じネットワーク セグメント上にあり、共有が設定されていることを確認しました。上記のコードの URL アドレスをブラウザに入力できます。
この種の問題に対処した人を教えてください。感謝します! !

ディスカッションに返信 (解決策)
$filename = "//172.16.18.123/pic/2012.png"

$filename = "//172.16.18.123/pic/2012.png";どうもありがとうございます! !試してみました、はい!しかし、問題が見つかりました。

$filename = "//172.16.18.123/news/pic/2012.png"; と書いても、まだ見つかりません。 newsフォルダとpicフォルダは共有されていますが、newsはpicの上位階層になります。どうしたの?お手数ですが再度質問にお答えいただけますと幸いです。また、2012.pngをFドライブのルートディレクトリ172.16.18.123に直接置いた場合、コードはどのように書けばよいのでしょうか? ? ?このヒーローを本当にありがとう!本当に初心者です、すみません! ! !

統一リソースの場所
//マシン名またはIP/共有名/パス/ファイル名

今日は別のトリックを学びました


統一リソースの場所

//マシン名またはIP/共有名/パス/ファイル名

ありがとうこのヒーローさん、またご迷惑をおかけして申し訳ありません~~~~ この場合、リモート ファイルのセキュリティを確保したい場合はどうすればよいですか?マニュアルを読んだところ、セーフモードをオンにすると、PHPはスクリプトと読み込むファイルのUIDをチェックすると書いてありますが、これは具体的には何を意味するのでしょうか? UIDはどのようにチェックされますか?推奨できる詳細な情報はありますか? または、php.ini でリモート ファイルのログイン許可を設定することは可能ですか?たとえば、検証後にのみリモート ファイルを開くことができるように、ユーザー名とパスワードを設定します。ありがとう! !どうもありがとうございます ! !お返事を楽しみにしています! ! !

プロトコル宣言がない場合、デフォルトのプロトコル名は LAN にのみ適用されます

セキュリティチェックが必要な場合、同じリソースを使用して検索することはできません。代わりに LDAP を使用する必要があります

この投稿は xuzuning によって最後に投稿されました: 2012-12-18 11:27:22 no-protocol ステートメントを編集するとき、デフォルトのプロトコル名は LAN にのみ適用されるファイルです

セキュリティ チェックの場合が必須である場合、同じリソースの場所は使用できません。代わりに LDAP を使用する必要があります

ありがとうございます! ! LAN 内の別のマシンにあるファイルを単純に呼び出したいだけですが、統合リソースの場所を使用するとセキュリティ チェックを実行できません。つまり、ユーザーのログイン権限を検証できません。この場合、ターゲットマシンのフォルダをローカルディスクにマッピングすればうまくいきますか?私のコードでは $pic="Z:\datanewspic1.jpg" と書きます。Z は別のマシン上のフォルダーからこのマシンにマップされたドライブ文字です。これは PHP で認識されないようです。毛織物って書き間違えてる?アドバイスをお願いします! !要するに、単に何かを呼び出したいだけですが、そのマシン上のフォルダーを完全に公開したくないのです。助けてください。 !とても感謝しています! ! !


NET USE
機能: コンピューターを接続するか、共有リソースからコンピューターを切断するか、コンピューターの接続情報を表示します。
コマンド形式: net use [デバイス名 | *] [コンピューター名共有名 [ボリューム]] [パスワード | *]] [/ユーザー: [ドメイン名]ユーザー名] [/永続:{はい いいえ}]]パラメーターの概要:

ネットワーク接続を一覧表示するには、パラメーターを指定せずに net use と入力します。

devicename は、接続するリソース名または切断するデバイス名を指定します。
computernamesharename サーバーと共有リソースの名前。
パスワードは共有リソースにアクセスするためのパスワードです。
*パスワードの入力を求められます。
/user は、接続する別のユーザーを指定します。
ドメイン名は別のドメインを指定します。
username はログインユーザー名を指定します。
/home はユーザーをホーム ディレクトリに接続します。
/delete は、指定されたネットワーク接続をキャンセルします。
/persistent は、永続的なネットワーク接続の使用を制御します。
簡単な例:
(1)net use e: YFANGTEMP を使用して YFANGTEMP ディレクトリをドライブ E として作成します
(2)net use e: YFANGTEMP /delete を使用して切断します

NET USE
機能: コンピューターを接続する、共有リソースからコンピューターを切断する、またはコンピューターの接続情報を表示します。
コマンド形式: net use 〔devicename | *〕 〔computernamesharename〔volume〕〕 〔password | , あなたが言ったように、172.16.22.10のFドライブをローカルのZドライブにマッピングしました。 line: net use z: \172.16.22.10f$ "password" /user :"administrator"、これを試してみたところ、うまくいきました。しかし、PHP でシステム関数を使用すると機能しません。私のコードは次のとおりです。

$cmd="net use z: \\172.16.22.10\f$ "password" /user: "administrator"";
if(system($cmd))
echo "マッピング成功";
else echo "マッピング失敗";

コードの問題なのか、php で何を設定する必要があるのか​​を見つけるのを手伝ってください。 .ini セーフモードがオフになっているので、問題なく動作します。

ありがとうございます! ! !初心者の私の素朴な質問にわざわざ答えていただき、ありがとうございました。 。 。 ! !お返事を楽しみにしています! !約

の文字を逆に書くと、より明確になります

$cmd="net use z: //172.16.22.10/f$password /user:administrator"
そして、password は管理者のログインパスワードです。それは本物に違いない
ありがとうヒーロー! !言われたとおりに書きましたが、まだ機能しません~~~ もう一度確認していただけますか:

$cmd="net use z: //172.16.22.10/f$ pass123456 /user:username"; system ($cmd);

システム機能に問題があると思われますか? 設定ファイルに変更が必要な点はありますか?
コマンドラインからは操作できますが、PHPでは実行できません。
またよろしくお願いします! ! ~~~~~~~~~~~

投稿者に聞きたいのですが、結局この問題は解決されましたか? 私も現在同じ問題に遭遇しており、多くの情報を確認しましたが、解決できません。解決策が見つからない。助けてください

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート