如何使用PHP将递增的数字添加到每个上传文件的末尾

如何使用PHP将递增的数字添加到每个上传文件的末尾,php,for-loop,auto-increment,Php,For Loop,Auto Increment,我有一个脚本,可以将特定目录中的每个文件上传到我的WordPress站点。现在,脚本只上载一个图像,即目录中的最后一个图像。我相信我的问题是在for循环中分配上传的文件名。这是我的密码: function vehicle_image_uploads() { ?> <button id="veh_img_upload">Upload Images</button> <?php global $post; $rpcurl = ge

我有一个脚本,可以将特定目录中的每个文件上传到我的WordPress站点。现在,脚本只上载一个图像,即目录中的最后一个图像。我相信我的问题是在for循环中分配上传的文件名。这是我的密码:

   function vehicle_image_uploads() {
?>
    <button id="veh_img_upload">Upload Images</button>

<?php
    global $post;

    $rpcurl = get_bloginfo('url') . "/xmlrpc.php";

    echo $rpcurl; 

    $username = 'admin';
    $password = 'admin';
    $blogid = $post->ID; //Post ID

    echo $blogid;

    $post_idn = get_post_meta($post->ID, 'VIN', true);

    echo "<h1>" . $post_idn ."</h1>";

    $post_dir = dirname( get_template_directory() ) . "/" . $post_idn;

    $fileslist = scandir($post_dir);

    foreach ($fileslist as $file) {
        echo $file;
    }

    $i = 0;

    foreach ($fileslist as $file) {

        if( $file === '.' || $file === '..' ) {
            continue;
        }

        $file = file_get_contents( $post_dir . "/" . $file);

        $filetype = "image/jpeg";

        $filename = "remote_filename_". $i .".jpg";
         $i++; //


        xmlrpc_set_type($file,'base64'); // <-- required!
        $params = array($blogid,$username,$password,
                    array('name'=>$filename,'type'=>$filetype,'bits'=>$file,'overwrite'=>false));
        $request = xmlrpc_encode_request('wp.uploadFile',$params);

        echo "<br />" . $filename;

    }



    function go($request,$rpcurl){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_URL,$rpcurl);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$request );
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        $result = curl_exec($ch);
    }

    $result = go($request,$rpcurl);
    print_r($result);


}
功能车辆\图像\上传(){
?>
上传图像

您已经有了一个循环,
$filelist
;在前面添加一个计数器,并使用它来增加:

$i = 0;
foreach ($fileslist as $file) {

    if( $file === '.' || $file === '..' ) {
        continue;
    }

    $file = file_get_contents( $post_dir . "/" . $file);

    $filetype = "image/jpeg";

    $filename = "remote_filename_". $i .".jpg";
    $i++; //increment $i

您已经有了一个循环,
$filelist
;在前面添加一个计数器,并使用它来增加:

$i = 0;
foreach ($fileslist as $file) {

    if( $file === '.' || $file === '..' ) {
        continue;
    }

    $file = file_get_contents( $post_dir . "/" . $file);

    $filetype = "image/jpeg";

    $filename = "remote_filename_". $i .".jpg";
    $i++; //increment $i

您已经有了一个循环,
$filelist
;在前面添加一个计数器,并使用它来增加:

$i = 0;
foreach ($fileslist as $file) {

    if( $file === '.' || $file === '..' ) {
        continue;
    }

    $file = file_get_contents( $post_dir . "/" . $file);

    $filetype = "image/jpeg";

    $filename = "remote_filename_". $i .".jpg";
    $i++; //increment $i

您已经有了一个循环,
$filelist
;在前面添加一个计数器,并使用它来增加:

$i = 0;
foreach ($fileslist as $file) {

    if( $file === '.' || $file === '..' ) {
        continue;
    }

    $file = file_get_contents( $post_dir . "/" . $file);

    $filetype = "image/jpeg";

    $filename = "remote_filename_". $i .".jpg";
    $i++; //increment $i

+1使用外部迭代器,以及:

实际的RPC发生在哪里? 您可以扩展您的代码片段来显示这一点吗

也许您只需将其称为
foreach
循环的一次,如下所示:

foreach ($fileslist as $file) {
    //...
    $request = xmlrpc_encode_request('wp.uploadFile',$params);
}
$file = file_get_contents($rpcurl, ...); //or however you call it 
它会产生你正在经历的效果——不管怎样,只上传一个文件(你从列表中处理的最后一个文件)


应该在循环内部为每个文件调用它。

+1使用外部迭代器,并且:

实际的RPC发生在哪里? 您可以扩展您的代码片段来显示这一点吗

也许您只需将其称为
foreach
循环的一次,如下所示:

foreach ($fileslist as $file) {
    //...
    $request = xmlrpc_encode_request('wp.uploadFile',$params);
}
$file = file_get_contents($rpcurl, ...); //or however you call it 
它会产生你正在经历的效果——不管怎样,只上传一个文件(你从列表中处理的最后一个文件)


应该在循环内部为每个文件调用它。

+1使用外部迭代器,并且:

实际的RPC发生在哪里? 您可以扩展您的代码片段来显示这一点吗

也许您只需将其称为
foreach
循环的一次,如下所示:

foreach ($fileslist as $file) {
    //...
    $request = xmlrpc_encode_request('wp.uploadFile',$params);
}
$file = file_get_contents($rpcurl, ...); //or however you call it 
它会产生你正在经历的效果——不管怎样,只上传一个文件(你从列表中处理的最后一个文件)


应该在循环内部为每个文件调用它。

+1使用外部迭代器,并且:

实际的RPC发生在哪里? 您可以扩展您的代码片段来显示这一点吗

也许您只需将其称为
foreach
循环的一次,如下所示:

foreach ($fileslist as $file) {
    //...
    $request = xmlrpc_encode_request('wp.uploadFile',$params);
}
$file = file_get_contents($rpcurl, ...); //or however you call it 
它会产生你正在经历的效果——不管怎样,只上传一个文件(你从列表中处理的最后一个文件)



它应该在循环内部为每个文件调用。

该循环的意义是什么?它将最终以
$filename=“remote\u filename\uuu”.$basenumber..jpg结束;
该循环的意义是什么?它将最终以
$filename=“remote\u filename\uu”.$basenumber..jpg结束
该循环的意义是什么?它将最终以
$filename=“remote\u filename”.$basenumber..jpg结束;
该循环的意义是什么?它将最终以
$filename=“remote\u filename”.$basenumber..jpg结束
它仍然只是上载一个文件。请尝试执行
print\r($fileslist)
要实际查看拾取了多少文件?它正在拾取所有三个图像。现在目录中只有三个文件。因此,当我运行foreach语句回显$fileslist中的每个文件时,我会得到目录中每个文件的名称。如果回显$filename变量,它会列出每个文件以及t上的相关编号他结束了。我想还有别的地方出了问题——如果$filename在xmlrpc_set_类型函数的入口点是正确的,那么这端可能有问题吗?在调用请求之前,您可以
print_r($params)
吗?啊,这对添加的函数更有意义。它仍然只是上载一个文件。尝试执行
print\r($fileslist)
要实际查看拾取了多少文件?它正在拾取所有三个图像。现在目录中只有三个文件。因此,当我运行foreach语句回显$fileslist中的每个文件时,我会得到目录中每个文件的名称。如果回显$filename变量,它会列出每个文件以及t上的相关编号他结束了。我想还有别的地方出了问题——如果$filename在xmlrpc_set_类型函数的入口点是正确的,那么这端可能有问题吗?在调用请求之前,您可以
print_r($params)
吗?啊,这对添加的函数更有意义。它仍然只是上载一个文件。尝试执行
print\r($fileslist)
要实际查看拾取了多少文件?它正在拾取所有三个图像。现在目录中只有三个文件。因此,当我运行foreach语句回显$fileslist中的每个文件时,我会得到目录中每个文件的名称。如果回显$filename变量,它会列出每个文件以及t上的相关编号他结束了。我想还有别的地方出了问题——如果$filename在xmlrpc_set_类型函数的入口点是正确的,那么这端可能有问题吗?在调用请求之前,您可以
print_r($params)
吗?啊,这对添加的函数更有意义。它仍然只是上载一个文件。尝试执行
print\r($fileslist)
要实际查看拾取了多少文件?它正在拾取所有三个图像。现在目录中只有三个文件。因此,当我运行foreach语句回显$fileslist中的每个文件时,我会得到目录中每个文件的名称。如果回显$filename变量,它会列出每个文件以及t上的相关编号他结束了。我想还有别的地方出了问题——如果$filename在xmlrpc_set_类型函数的入口点是正确的,那么这一端可能有问题吗?在调用请求之前,您能
打印($params)
吗?啊,这对于添加的函数来说更有意义