0

私はここに画像を出力するこのコードを持っています..私はそれを変更する必要があります.

名前の変更機能を使用すると思います!

$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetPath = str_replace('//','/',$targetPath);
$targetFile = $targetPath . $_FILES['Filedata']['name'];
tamano_nuevo_foto($stempFile, 420, $stargetFile);
4

4 に答える 4

2

あなたがすることができます:

$extension = array_pop( explode(".", $_FILES['Filedata']['name']) ); //get extension
$targetFile = $targetPath . "some_new_name".$extension;
tamano_nuevo_foto($tempFile, 420, $targetFile);
于 2012-08-22T07:34:55.927 に答える
0

を使用する必要がpathinfoありますmove_uploaded_file

$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; // should make this more secure, like a fixed path or in a whitelist
$targetPath = str_replace('//','/',$targetPath);
$ext = pathinfo($_FILES['Filedata']['name'], PATHINFO_EXTENSION);
$basename = pathinfo($_FILES['Filedata']['name'], PATHINFO_BASENAME);
$targetFile = $targetPath . $basename . "_s" . $ext;
move_uploaded_file ( $tempFile , string $targetFile)
//tamano_nuevo_foto($stempFile, 420, $stargetFile); // move and resize ??
于 2012-08-22T07:47:35.870 に答える
0

または、次の関数を使用できます。

function add_s($file){
    $fName = substr($file, 0,strpos($file, "."));
    $fExtension = substr($file, strpos($file, "."));
    $newFName = $fName."_s".$fExtension;
    return $newFName;
}
于 2012-08-22T07:40:01.707 に答える
0

最初:ユーザーが操作できるパスがあるようです。パスで直接 $_REQUEST['folder'] を使用するのは不適切です。ユーザーは、ファイルシステム内を移動するために ../../../ のようなものであっても、そこに何でも入れることができます!

名前を変更するには、次のようにします。

$targetFile = $targetPath . "myfilename.png";

于 2012-08-22T07:36:38.770 に答える