打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
php – mkdir()在foreach函数中跳过第一个文件

我有一个脚本,它读取URL-Image-List并将图像保存在基于URL的文件夹中.

  

这是我的脚本:

// Open the URL and save each line in a array$file = fopen("http://www.edem.de/php/imglist.ashx","r");$fileArray = array();while (($line = fgetss($file)) !== false) {    $fileArray[] = $line;}// Sort the arrayarray_multisort(array_values($fileArray), SORT_NUMERIC , array_keys($fileArray), SORT_NUMERIC , $fileArray);// Start the iteration for saving each imageforeach ($fileArray as $url) {    // Explode URL for folder and image name    $urlpath = parse_url($url, PHP_URL_PATH);    $dataend = explode("/", $urlpath);    $ending = $dataend[5];    $folder = $dataend[3];    // delete "_" and "whitespace"    $folder = strtr($folder, "_", " ");    $folder = preg_replace('/\s /', '', $folder);    $ending = strtr($ending, "_", " ");    $ending = preg_replace('/\s /', '', $ending);    // Check if folder exist. If yes -> go on with path. If no -> create folder    if (!file_exists("Bilder/$folder/")) {        $imgpath = mkdir("Bilder/$folder/", 0777, true);        //I THINK THE MISTAKE IS HERE    }    else {        $imgpath = ('Bilder/' .$folder. '/');    }    // save the path and the image name in a variable    $savepath = $imgpath . $ending;    // Test echo    echo ("The image <strong>$ending</strong> is saved in the folder <strong>$savepath</strong>. The file should be in the folder <strong>$folder</strong><br><br>");        //Connect and save images    $ch = curl_init($url);    curl_setopt($ch, CURLOPT_HEADER, 0);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);    $rawdata=curl_exec ($ch);    curl_close ($ch);    $fp = fopen(''.$savepath.'','w');    fwrite($fp, $rawdata);    fclose($fp);}

每个文件夹应包含一些图像.
但是:当必须创建文件夹时,他会创建此文件夹,但将第一个图像保存在根目录中,而不是保存在此文件夹中.

示例回声

该文件夹已创建,但第一个图像未保存在此新文件夹中.
以下图像也属于此文件夹,可以正确保存.

我没有错.

解决方法:

在第一种情况下,您将其存储为true或false.更改以下内容:

// Check if folder exist. If yes -> go on with path. If no -> create folderif (!file_exists("Bilder/$folder/")) {    $imgpath = mkdir("Bilder/$folder/", 0777, true);    //I THINK THE MISTAKE IS HERE}else {    $imgpath = ('Bilder/' .$folder. '/');}

至:

// Check if folder exist. If yes -> go on with path. If no -> create folderif (!file_exists("Bilder/$folder/")) {    mkdir("Bilder/$folder/", 0777, true);}$imgpath = ('Bilder/' .$folder. '/');
来源:http://www.icode9.com/content-1-210801.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
shell bash判断文件或文件夹是否存在
php获取远程图片并把它保存到本地
实战 | 记一次条件竞争文件上传
VBA从工作表另存为工作簿
Python十大文件骚操作!!
matlab 重命名文件和文件夹
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服