[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: перезапись временного файла
franko
Друзья!
В 4 утра!
Пользователь корректирует свое название и загружает свой логотип.
<?php 
/**
* Function of uploaded of a file
* Функция загрузки файла (аплоадер)
*
@param int $max_file_size максимальный размер файла в килобайтах
*
@param array $valid_extensions массив допустимых расширений
*
@param string $upload_dir директория загрузки
*
@return array сообщение о ходе выполнения
*
*
@author IT studio IRBIS-team (www.irbis-team.com)
*
@copyright © 2009 IRBIS-team
*/

function uploadHandle($max_file_size = 100, $valid_extensions = array(), $upload_dir = '.')
{

$error = null;
$info = null;
$max_file_size *= 1024;

if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK)
{
// проверяем расширение файла
$file_extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
if (in_array($file_extension, $valid_extensions))
{
// проверяем размер файла
if ($_FILES['userfile']['size'] < $max_file_size)
{
$destination ="img/logo_pu/" . $_FILES['userfile']['name'];

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $destination))
$info = 'Файл успешно загружен';
else
$error = 'Не удалось загрузить файл';
}
else
$error = 'Размер файла больше допустимого';
}
else
$error = 'У файла недопустимое расширение';
}
else
{
// массив ошибок
$error_values = array(

UPLOAD_ERR_INI_SIZE =>
'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
UPLOAD_ERR_FORM_SIZE =>
'Размер файла превышает указанное значение в MAX_FILE_SIZE',
UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично',
UPLOAD_ERR_NO_FILE => 'Не был выбран файл для загрузки',
UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'

);

$error_code = $_FILES['userfile']['error'];

if (!empty($error_values[$error_code]))
$error = $error_values[$error_code];
else
$error = 'Случилось что-то непонятное';
}

return array('info' => $info, 'error' => $error);
}

/////////////////////////////////////////////////////////////////////
$extensions = array('jpg', 'jpeg', 'png', 'gif');
$upload_dir = 'images';

// Запускаем функцию
if(!empty($_POST['upload_submit']))
{
$message = uploadHandle(200, $extensions, $upload_dir);

// Выводим сообщение
echo $message['error'] ? $message['error'] : $message['info'];
}
?>

<form
name="add" method='post' action='pu_add.php' enctype="multipart/form-data">
<table
width="650" cellspacing="5" cellpadding="5">
<tr>
<td
width="200" valign="top"><b>Название организации:</b></td>
<td
width="550" align="left" style='background-color:#f0f0f0'>
<input
value= "<?php echo $_GET['title']; ?>" type="text" name="title" size="80">
</td>
</tr>
<tr>
<td
width="200" valign="top"><b>Logotip:</b></td>
<td><input
type="file" name="logo" value="<?php echo $_FILES['name']; ?>">загрузить</td>
</tr>


</table>
<input
name="id_pu" type="hidden" value="<?php echo $_GET['id_pu']; ?>">
<br>
<center>
<label>
<input
type="submit" value="Сохранить изменения" name="upload_submit" id="submit">
</label>
</center>

</form>

</td>
</tr>
</table>


Array
(
[logo] => Array
(
[name] => Яyutex.png
[type] => image/png
[tmp_name] => /tmp/phplPmhDQ
[error] => 0
[size] => 92734
)
)

В данном случае в БД в поле logo записывается содержимое временной папки /tmp/phplPmhDQ
Содержимое папки logo на сервере пусто.
Покажите ошибку



Спустя 38 минут, 16 секунд (4.01.2012 - 04:04) franko написал(а):
стоит привести файл pu_add.php
if  (isset($_POST['logo']))          {$logo = $_POST['logo']; if ($logo == '') {unset ($logo);}}

if (isset($logo) {
$result = mysql_query ("insert pu SET logo='$logo',

Название организации меняется, а вот с логотипом проблемы
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.