|
|
|
| Здравствуйте..
Вот опять прооблема..
Не загружается файл т.к. в массиве $_FILES['userfile']['tmp_name'] пусто!
Не знаю что делать и не могу понять причины почему пусто..
Винда..поэтому с правами проблем быть не может
<?php
error_reporting(0);
include("wrapper.php");
$do = isset($_GET['do']) ? $_GET['do'] : '';
$id = isset($_GET['id']) ? intval($_GET['id']) : '';
$page = isset($_GET['page']) ? intval($_GET['page']) : '';
$cat = isset($_GET['cat']) ? $_GET['cat'] : '';
if (!get_magic_quotes_gpc())
{
$do = mysql_escape_string($do);
$cat = mysql_escape_string($cat);
}
function rus2lat($string)
{
$string = strtr(
$string,
"абвгдеёзийклмнопрстуфхъыьэ АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ&><",
"abvgdeeziiklmnoprstufhyyyi_ABVGDEEZIIKLMNOPRSTUFHIIIE___");
return str_replace(
array('ж', 'ц', 'ч', 'ш', 'щ', 'ю', 'я', 'Ж',
'Ц', 'Ч', 'Ш', 'Щ', 'Ю', 'Я'),
array('zh','ts','ch','sh','sch','yu','ya','ZH',
'TC','CH','SH','SCH','YU','YA'),
$string);
}
$max_size = 50 * 1024;
$valid_types = array("gif", "jpg", "jpeg");
$date = date("d-m-y", time());
$dir = "./upload/".$date."/";
if (isset($_FILES["userfile"]))
{
print_r($_FILES);
if(empty($_POST['name']) || empty($_POST['desc']))
{
echo 'Заполните все поля';
include('footer.php');
exit();
}
else
if($_POST['folder'] == '0')
{
echo 'Выберите категорию';
include('footer.php');
exit();
}
else
{
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
$filename = $_FILES['userfile']['tmp_name'];
$name = rus2lat($_FILES['userfile']['name']);
$ext = substr($name, 1 + strrpos($name, "."));
if(filesize($filename) > $max_size)
{
echo '<span style="color:red; font-weight: bold">Слишком большой файл</span>';
}
else
if(!in_array($ext, $valid_types))
{
echo '<span style="color:red; font-weight: bold">Неверный формат файла...</span>';
}
else
{
mkdir($dir, 0777);
$num = 1;
while(file_exists($dir.$name))
{
++$num;
$file_name = $num.$name;
$name = $file_name;
}
if(move_uploaded_file($filename, $dir.$name))
{
$_POST['folder'] = intval($_POST['folder']);
if (!get_magic_quotes_gpc())
{
$_POST['name'] = mysql_escape_string($_POST['name']);
$_POST['desc'] = mysql_escape_string($_POST['desc']);
$name = mysql_escape_string($name);
}
$query = "INSERT INTO `images` VALUES(NULL, '".$name."', '".$_POST['name']."', '".$_POST['folder']."', '".$_POST['desc']."', '1')";
if(mysql_query($query))
{
echo "Файл успешно загружен";
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='1; URL=index.php?cat=".$_POST['folder']."'></HEAD></HTML>";
}
else
{
exit("Ошибка при добавлении файла- ".mysql_error());
}
}
else
{
echo '<span style="color:red; font-weight: bold">Ошибка....</span>';
}
}
}
else
{
echo '<span style="color:red; font-weight: bold">Файл не загружен...</span>';
}
}
}
else
{
?>
<center><table><form enctype="multipart/form-data" method="post">
<tr><td>Название:</td><td><input type="text" name="name" value="" size="33" /></td></tr>
<tr><td>Описание:</td><td><textarea name="desc" maxlength="400" rows="5" cols="25"></textarea></td></tr>
<tr><td>Раздел:</td><td><select name="folder">
<option value="0">Выбрать...</option>';
<?php
$query = "SELECT * FROM `cat` ORDER BY `id` ASC";
$result = mysql_query($query);
for($i = 0; $i < mysql_num_rows($result); $i++)
{
$row = mysql_fetch_array($result);
echo "<option value=".$row['id'].">".$row['name']."</option>";
}
echo "</select></td></tr>";
?>
<tr><td>Файл:</td><td><input type="file" name="userfile" /></td></tr>
<td colspan="2" align="right"><input type="submit" value="Загрузить" /></td></tr>
</form></table></center>
<?php
}
?>
|
| |
|
|
|
|
|
|
|
для: SnooPI
(04.02.2008 в 12:20)
| | Я с таким сталкивался в случае, если размер загружаемого файла больше чем 'post_max_size' или 'upload_max_filesize'. | |
|
|
|
|
|
|
|
для: SnooPI
(04.02.2008 в 12:20)
| | Смотрите код ошибки: $_FILES['userfile']['error'] | |
|
|
|
|
|
|
|
для: Unkind
(04.02.2008 в 14:47)
| | Код ошибки 6 | |
|
|
|
|
|
|
|
для: SnooPI
(04.02.2008 в 15:40)
| | Смотрите в мануале, что он означает.
http://ru2.php.net/manual/en/features.file-upload.php | |
|
|
|