Переместить сохраненный файл в другой каталог в PHP - PullRequest
0 голосов
/ 29 января 2012

Прежде всего, мой код:

 /* Make directory if not existing */

$directory = "appicons/$artistid/$appid/";
if (!is_dir ($directory)) 
{
     $mode = 0777;
     mkdir($directory, $mode, true);
}

 /* Resize Icon */
 include('appicons.php');

 if(file_exists(''. $artistid . '-' . $appid . '.png')){
    end(&$appicon);
    }else{

    $appicon = new SimpleImage();
    $appicon->load($icon);
    $appicon->resizeToWidth(128);
    $appicon->save(''. $artistid . '-' . $appid . '.png');

    }

$ appicon сохраняет файл в корневой каталог моего сайта как $ appid- $ artistid.png.Я хотел бы, чтобы этот файл был перемещен в правильный каталог (который принимает формат /appicons/$appid/$artistid/.

Я посмотрел на move_uploaded_file, но я не уверен, как его реализоватьили, если это правильная функция, которую я должен использовать. Я считаю, что должен редактировать $appicon->save(''. $artistid . '-' . $appid . '.png');, но я не уверен, что делать ...

Ответы [ 2 ]

1 голос
/ 29 января 2012

Я думаю, что вы ищете:

$appicon->save($directory . $artistid . '-' . $appid . '.png'); 
0 голосов
/ 29 января 2012

Во-первых, ваша переменная $directory не конкатенирована правильно, вы хотите использовать что-то вроде:

$directory = 'appicons/' . $artistid . '/' . $appid;

Если файл PNG можно сохранить только по пути PHP-скриптавыполняется, затем вам нужно сначала сохранить его, а затем переместить файл.Если это так, то функция rename() в PHP достигнет того, что вы ищете.

$filename = $artistid . '-' . $appid . '.png';
if(file_exists($filename)) {
  rename($filename, $directory . '/' . $filename);
}

Это переместит файл png в каталог, как указано (т.е. appicons / artistid /папка appid).

...