2

ばかげた質問で申し訳ありませんが、テーブルのすべての行に対して php スクリプトを呼び出す方法がわかりません。私はmysqlを使用しています。(私は将来 PDO を使用しますが、その方が優れていることはわかっています)。これは私の「選択」ページです(必要な行を選択します):

<?php
include "util.php";
conn();
$SQL = "SELECT * FROM profiles where name='beatrice'"; //it's just an example
$result = mysql_query($SQL);

    while ($db_field = mysql_fetch_assoc($result)) {
                        $id= $db_field['id'] ;
                        $nome= strtolower($db_field['name']);
                        $cognome= strtolower($db_field['surname']);
                        $filenome= strtolower($db_field['filename']);
                        $cf= $db_field['cf'];
                        $dir1 = mb_substr($cf, 0, 8);
                        $dir=$id.$dir1;
                        mkdir('test/doc/'.$dir, 0777, TRUE);
                        mkdir('test/doc/'.$dir.'/foto', 0777, TRUE);
                        mkdir('test/doc/'.$dir.'/thumbnails', 0777, TRUE);
                        header('Location:renamer.php?dir='.$dir.'&nome='.$nome.'&filenome='.$filenome.'&id='.$id);
    }

    ?>

ヘッダーの場所がうまくいかないので、別の方法を探しています。

4

2 に答える 2

2

CURL呼び出しを使用できます。

または、関数を呼び出して、ループ内で必要なことを行います。

したがって、(renamer.php 内の機能から) 関数を作成するだけで、URL パラメーターを引数として取り、すぐに使用できます!

本当にバックグラウンドで実行する必要がある場合は、 http://php.net/manual/en/function.pcntl-fork.phpを調べてください。このルートをたどると、何かを実行するために新しい PHP プロセスが起動されます。それは複雑になり、あなたのタスクは何らかの方法で報告する必要があるので、何が行われた/されていないかがわかります:)

于 2012-06-19T12:54:07.797 に答える
0

mysql_fetch_array() を使用して結果を配列で取得し、次に array_walk() を使用して各行の関数を実行するのはどうですか?

http://php.net/manual/en/function.mysql-fetch-array.php

http://ca.php.net/manual/en/function.array-walk.php

于 2012-06-19T12:57:15.733 に答える