私は別のウェブサイトから1000以上の画像を取得しており、ユーザーが段階的にスクロールダウンするときにサーバー側で要求したいと考えています。私の問題は、それらがすべて一緒に読み込まれていると私はスクロール中に部分的にそれらを読み込む方法がわかりません。 Lazyloadは私の問題のクライアント側だけを解決します。PHP:サーバー側のページ設定で画像をスクロールする方法
CODE:
$url = 'http://mydomain/page/';
$string = '';
for($i=0; $i<10; $i++){
$string .= FetchPage($url.$i);
}
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex_src_url, $string, $out, PREG_PATTERN_ORDER);
$images_url_array = $out[1];
foreach ($images_url_array as $image) {
$elements = explode('/', $image);
$name = end($elements);
$checkname = explode('.', $name);
if(end($checkname) === 'jpg' || end($checkname) === 'png'){
$img = 'images/'.$name;
list($width, $height) = getimagesize($image);
if($height < 4000 && $height > 300) {
if(!file_exists($img)){
file_put_contents($img, file_get_contents($image));
}
print_r('<img src="'.$img.'" width="900" />');
}
}
}
@EDIT:
が、私は自分のサーバーにすべてのデータをクロールして、クライアント側でlazyload.jsでそれを出力すると私の問題を解決しました。
img.onload = loadNextImage; –
クライアント側からサーバー側を管理することはできません。ユーザーがスクロールすると、これはサーバー機能ではなくクライアントイベントです。 PHPはここで何もしません。あなたはjavascriptを使用する必要があります。 –