ホームページ  >  記事  >  バックエンド開発  >  PHP は画像をローカル サーバー インスタンス共有にダウンロードします

PHP は画像をローカル サーバー インスタンス共有にダウンロードします

小云云
小云云オリジナル
2018-02-06 15:54:312859ブラウズ

この記事では主に、記事内の画像パスをPHPで置き換えてローカルサーバーに画像をダウンロードする方法を紹介しますので、参考になると思います。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

php 記事内の画像パスを置換し、画像をローカルサーバーにダウンロードします

/**
 * 获取替换文章中的图片路径
 * @param string $xstr 内容
 * @param string $oriweb 网址
 * @return string
 *
 */
function replaceimg($xstr, $oriweb){
  //保存路径
  $d = date('Ymd', time());
  $saveimgfile_1 = '/uploads/allimg/'.$d;
  $dirslsitss = DEDEROOT.$saveimgfile_1;//分类是否存在
  if(!is_dir($dirslsitss)) {
    @mkdir($dirslsitss, 0777);
  }
  //匹配图片的src
  preg_match_all('#<img.*?src="([^"]*)"[^>]*>#i', $xstr, $match);
  foreach($match[1] as $imgurl){
    $imgurl = $imgurl;
    if(is_int(strpos($imgurl, 'http'))){
      $arcurl = $imgurl;
    } else {
      $arcurl = $oriweb.$imgurl;
    }
    $img=file_get_contents($arcurl);
    if(!empty($img)) {
      //保存图片到服务器
      $fileimgname = time()."-".rand(1000,9999).".jpg";
      $filecachs=$dirslsitss."/".$fileimgname;
      $fanhuistr = file_put_contents( $filecachs, $img );
      $saveimgfile = $saveimgfile_1."/".$fileimgname;
      $xstr=str_replace($imgurl,$saveimgfile,$xstr);
    }
  }
  return $xstr;
}

関連推奨事項:

php 記事内のリモート画像アドレスと定期的に照合し、画像をローカルインスタンスにダウンロードします 詳細な説明

WeChat開発調整 カメラの起動、写真のローカル表示、写真のアップロードとダウンロード方法

PHPはpcntl_forkを使用して写真のマルチプロセスダウンロードを実装します

以上がPHP は画像をローカル サーバー インスタンス共有にダウンロードしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。