Php 从网页获取文件并使用文件内容保存

Php 从网页获取文件并使用文件内容保存,php,file-put-contents,Php,File Put Contents,我试着制作一个脚本,它可以将一个网页中的所有文件保存到服务器上 <?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 $

我试着制作一个脚本,它可以将一个网页中的所有文件保存到服务器上

<?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));
}

?>


如果我只使用编号为1-20或50-60等的
id
,脚本就可以完美地工作。但是当我在前面有一个名字和空白时,它似乎不起作用。它只保存1个文件并停止。

根据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"
}
基本上,你得到的是第一个单词的第一个字符到第二个单词的第一个字符的范围。如果我们将第二个词改为“漂亮”,我们会得到:


也许是一种选择?我不知道你的目的是什么,但是这个程序为你下载了一个网站。如果字符串以空格开头,应用str_替换或修剪?请更详细地描述“前面的名称”的大小写。为什么不保留id_开始和id_结束的数字,并在循环中使用要作为前缀的名称,如{file_put_contents($path_to_save.'name.$id……}@Fixer256,请更新投票,并在发布正确答案时标记正确答案。我们很乐意提供帮助,但通过更新投票来感谢他人是一种很好的形式。嗨,我很想更新投票,但在我有15个声誉之前我不能这样做,而我还没有。因此更新投票必须由其他有这种可能性的成员完成:)你为什么撤销我的编辑?引用手册不是那样做的。我的编辑比你的要多,对不起,这不是我的本意。请随便把它放回去
php > var_dump(range("Name Numberstart", "Pretty Numbersend"));
array(3) {
  [0]=>
  string(1) "N"
  [1]=>
  string(1) "O"
  [2]=>
  string(1) "P"
}