file_get_contents 在 wordpress 函数中

file_get_contents in wordpress function

此代码工作正常并将远程图像保存到本地主机(此 wordpress 插件将 tmdb 投射图像保存到本地地址):

function dt_cast_2($id, $type, $limit = false)
{
    $name = get_post_meta($id, "dt_cast", $single = true);
    if ($type == "img") {
        if ($limit) {
            $val    = explode("]", $name);
            $passer = $newvalor = array();
            foreach ($val as $valor) {
                if (!empty($valor)) {
                    $passer[] = substr($valor, 1);
                }
            }
            for ($h = 0; $h <= 500; $h++) {
                $newval     = explode(";", $passer[$h]);
                $fotoor     = $newval[0];
                $actorpapel = explode(",", $newval[1]);
                if (!empty($actorpapel[0])) {

                    if ($newval[0] == "null") {
                        $fotoor = DT_DIR_URI . '/assets/img/no_foto_cast.png';
                    } else {                   
                    $fotoor = 'https://image.tmdb.org/t/p/w90' . $newval[0];
                    $uploaddir = wp_upload_dir();
                    $uploadfile = $uploaddir['basedir'] . $newval[0];
                    if(!file_exists($uploadfile))
                    {
                    $contents= file_get_contents($fotoor);
                    $savefile = fopen($uploadfile, 'w');
                    fwrite($savefile, $contents);
                    fclose($savefile);
                    }
                    $fotoor = $uploaddir['baseurl'] . $newval[0];
                    }}}}}}

我这个功能有问题,图片没有保存到本地。 有人可以给我正确的代码吗?

function dt_image($name, $id, $size, $type = false, $return = false, $gtsml = false) {
    $img    = get_post_meta($id, $name, $single = true);
    $val    = explode("\n", $img);
    $mgsl = array();
    $count  = 0;
    foreach ($val as $valor) {
        if (!empty($valor)) {
            if (substr($valor, 0, 1) == "/") {
                $mgsl[] = 'https://image.tmdb.org/t/p/' . $size . '' . $valor . '';
            } else {
                $mgsl[] = $valor;
            }
            $count++;
        } else {
            if ($name == "dt_poster" && $img == NULL) {
                $mgsl[] = esc_url( DT_DIR_URI ) . '/assets/img/no_poster.png';
            }
        }
    }
$fotoor = 'https://image.tmdb.org/t/p/w90' . $newval[0];

我替换了这段代码并开始工作。

                $fotoor = 'https://image.tmdb.org/t/p/w90' . $newval[0];
                $uploaddir = wp_upload_dir();
                $uploadfile = $uploaddir['basedir'] . $newval[0];
                if(!file_exists($uploadfile))
                {
                $contents= file_get_contents($fotoor);
                $savefile = fopen($uploadfile, 'w');
                fwrite($savefile, $contents);
                fclose($savefile);
                }
                $fotoor = $uploaddir['baseurl'] . $newval[0];