0

名前にパターンがあるWebページからすべてのファイルをサーバーに保存できるスクリプトを作成してみました。

<?php

$base_url = "http://www.someurl.com/";
$sufix = ".jpg";
$id_start= "Name Numberstart"; //Picture 1 
$id_end = "Name Numberend"; // Picture 235
$path_to_save = "filer/";

foreach(range($id_start, $id_end) as $id) {
    file_put_contents($path_to_save.$id.$sufix, file_get_contents($base_url.$id.$sufix));
}

?>

id1 ~ 20 または 50 ~ 60 などの数字のみを使用すると、スクリプトは完全に機能します。しかし、前に名前と空白があると、うまくいかないようです。1つのファイルを保存して停止します。

4

1 に答える 1

0

範囲のphp.netの説明によると:

文字シーケンス値の長さは 1 に制限されています。1 より大きい長さを入力すると、最初の文字だけが使用されます。

という意味だと捉えています

range("Name Numberstart", "Name Numbersend") == array("N");

そして、php をインタラクティブに実行すると、これが確認されます。

php > $var = range("Name Numberstart", "Name Numbersend");
php > var_dump($var);
array(1) {
  [0]=>
  string(1) "N"
}

したがって、基本的には、最初の単語の最初の文字から 2 番目の単語の最初の文字までの範囲を実際に取得しています。2 番目の単語を「Pretty」に変更すると、次のようになります。

php > var_dump(range("Name Numberstart", "Pretty Numbersend"));
array(3) {
  [0]=>
  string(1) "N"
  [1]=>
  string(1) "O"
  [2]=>
  string(1) "P"
}
于 2015-05-21T15:17:34.220 に答える