Этот код просит пользователя загрузить на сервер изображение с расширением JPG, GIF, PNG или TIF, а затем сохраняет его под именем image.jpg(или под другим расширением, смотря какое было у фотки).
<?php //upload2.php
echo <<<_END
<html><head><title>PHP Form Upload</title></head><body>
<form method='post' action='upload2.php' enctype='multipart/form-data'>
Select a JPG, GIF, PNG or TIF File:
<input type='file' name='filename' size='10' />
<input type='submit' value='Upload' /></form>
_END;
if ($_FILES)
{
$name = $_FILES['filename']['name'];
switch($_FILES['filename']['type'])
{
case 'image/jpeg': $ext = 'jpg'; break;
case 'image/gif': $ext = 'gif'; break;
case 'image/png': $ext = 'png'; break;
case 'image/tiff': $ext = 'tif'; break;
default: $ext = ''; break;
}
if ($ext)
{
$n = "image.$ext";
move_uploaded_file($_FILES['filename']['tmp_name'], $n);
echo "Uploaded image '$name' as '$n':<br />";
echo "<img src='$n' />";
}
else echo "'$name' is not an accepted image file";
}
else echo "No image has been uploaded";
echo "</body></html>";
?>
Непонятен этот кусок кода:
move_uploaded_file($_FILES['filename']['tmp_name'], $n);
как так получается, что из временного места $_FILES['filename']['tmp_name'] изображение помещается в переменную $n?(т.е. например, image.jpg).Остается догадываться, что из временного места перемещается таки в $_FILES['filename']['type']?
В предыдушем примере книги было вот так и все понятно, так как обе массивы:
$name = $_FILES['filename']['name'];
move_uploaded_file($_FILES['filename']['tmp_name'], $name);