Мне надо что бы было так uploads/$id/имя_файла.расширение
И так, сначало код который был по умолчанию, а ниже код который уже исправил я. Проблема в том что папка то создается в uploads но файл туда не летит...Однако если я удаляю папку uploads то после обновление на сервере смотрю и файл который я загрузил, появляется...
<?
$file = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
if(!empty($file))
{
ini_set('memory_limit', '32M');
$maxsize = "100000000";
$extentions = array( "gif","txt","tpl","jpg","jpeg","png",& ;quo t;zip", "rar","7z","tif","psd","swf","flv"," avi","mpeg","mp4","mp3","wav", "ogg","ogm","doc","xls","ppt");
$size = filesize ($_FILES['file']['tmp_name']);
$type = strtolower(substr($filename, 1+strrpos($filename,".")));
$new_name = 'file-'.time().'.'.$type;
if($size > $maxsize)
{
echo "Файл больше 100 мб. Уменьшите размер вашего файла или загрузите другой. <br><a href='' onClick=window.close();>Закрыть окно</a>";
}
elseif(!in_array($type,$extentions))
{
echo ' <b>Файл имеет недопустимое расширение</b>. Допустимыми являются форматы изображений, видеофайлов, флэш-роликов и текстовых документов. <br>';
}
else
{
if (copy($file, "uploads/".$new_name))
echo "Файл загружен!<br>Скопируйте адрес файла<br> <a href=\"uploads/$new_name\"><b>http://site.com/uploads/$new_name</b></a><br> и нажмите<br><a href='' onClick=history.back();>Вернуться назад</a>";
else echo "Файл НЕ был загружен.";
}
}
?>
Вот то что исправил я:
<?
$imgDir = "$id";
@mkdir($imgDir, 0777);
И ниже где путь uploads я вставил $imgDir
$file = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
if(!empty($file))
{
ini_set('memory_limit', '32M');
$maxsize = "100000000";
$extentions = array( "gif","txt","tpl","jpg","jpeg","png",& ;quo t;zip", "rar","7z","tif","psd","swf","flv"," avi","mpeg","mp4","mp3","wav", "ogg","ogm","doc","xls","ppt");
$size = filesize ($_FILES['file']['tmp_name']);
$type = strtolower(substr($filename, 1+strrpos($filename,".")));
$new_name = 'file-'.time().'.'.$type;
if($size > $maxsize)
{
echo "Файл больше 100 мб. Уменьшите размер вашего файла или загрузите другой. <br><a href='' onClick=window.close();>Закрыть окно</a>";
}
elseif(!in_array($type,$extentions))
{
echo ' <b>Файл имеет недопустимое расширение</b>. Допустимыми являются форматы изображений, видеофайлов, флэш-роликов и текстовых документов. <br>';
}
else
{
if (copy($file, "uploads/$imgDir/".$new_name))
echo "Файл загружен!<br>Скопируйте адрес файла<br> <a href=\"uploads/$new_name\"><b>http://site.com/uploads/$new_name</b></a><br> и нажмите<br><a href='' onClick=history.back();>Вернуться назад</a>";
else echo "Файл НЕ был загружен.";
}
}
?>
Помогите, что бы файл заносился :(
Спустя 21 минута, 19 секунд (27.06.2012 - 12:06) Gabriel написал(а):
Оу, оу, ооооу, тегами отформатируй, ибо простыня совсем не читабельная.
Спустя 10 минут, 45 секунд (27.06.2012 - 12:17) in9emix написал(а):
Все, только помогите пожалуйста.

Спустя 7 минут, 10 секунд (27.06.2012 - 12:24) Gabriel написал(а):
1. $imgDir подключена?
2. mkdir кажись там папки не хватает....
2. mkdir кажись там папки не хватает....
Спустя 2 минуты, 19 секунд (27.06.2012 - 12:26) in9emix написал(а):
Ну $imgDir у меня в теге <? ..... ?> Получается что подключена
Спустя 1 минута, 30 секунд (27.06.2012 - 12:28) in9emix написал(а):
Но там сейчас id пользователя только....
В общем у меня все так как во втором большом коде
В общем у меня все так как во втором большом коде
Спустя 5 минут, 19 секунд (27.06.2012 - 12:33) in9emix написал(а):
Все все все...вы были правы надо было папку прописать...блин точно)))))) СПАСИБО!!!!!!
Спустя 18 секунд (27.06.2012 - 12:34) Gabriel написал(а):
и не нужно давить ошибку собакой, сделай проверку на существование папки
Спустя 1 час, 48 минут, 59 секунд (27.06.2012 - 14:23) in9emix написал(а):
А вот еще такой вопрос, в переменной
Я хотел бы что бы попадало только название в бд, а расширение .jpg удалялось
$filename = $_FILES['file']['name'];оригинальное название и расширение файла, а как мне вытащить только название? а то в бд попалает такое: Зимний_сад.jpg
Я хотел бы что бы попадало только название в бд, а расширение .jpg удалялось
Спустя 4 минуты, 33 секунды (27.06.2012 - 14:27) fdr написал(а):
pathinfo() - в помошь!
Спустя 2 минуты, 23 секунды (27.06.2012 - 14:29) Gabriel написал(а):
не пихать в переменную $new_name переменную $type и вызывать их там где нужно вместе, а где нет то по одной.
ЗЫ. как сказали выше ябы таки воспользовался и переписалбы извращение с определением типа файла.
ЗЫ2. имя фала без расширения используется в качестве названия или в ссылке?
ЗЫ. как сказали выше ябы таки воспользовался и переписалбы извращение с определением типа файла.
ЗЫ2. имя фала без расширения используется в качестве названия или в ссылке?
Спустя 11 минут, 32 секунды (27.06.2012 - 14:41) in9emix написал(а):
Мне надо в качестве названия вытащить(
Спустя 47 секунд (27.06.2012 - 14:42) in9emix написал(а):
просто взять и вытащить оригинальное название

Спустя 10 минут, 32 секунды (27.06.2012 - 14:52) Gabriel написал(а):
сор, неправильно прочитал. выше сказали про path_info
Спустя 23 минуты, 31 секунда (27.06.2012 - 15:16) in9emix написал(а):
Попробовал так: $test = pathinfo($_FILES['name']);
не получилось(
не получилось(
Спустя 30 минут, 16 секунд (27.06.2012 - 15:46) fdr написал(а):
Попробовал так: $test = pathinfo($_FILES['name']);
надо эту переменную пихать - $_FILES['file']['name'];
Спустя 3 минуты, 51 секунда (27.06.2012 - 15:50) in9emix написал(а):
Такой вариант возвращает точку вместе названия: echo $trest['dirname'];
Спустя 6 минут, 45 секунд (27.06.2012 - 15:57) fdr написал(а):
$test - по идее будет массивом.
Что тебе нужно получить?
Оригинальное название файла так оно и есть $_FILES['file']['name'];
Если тебе нужно без разрешение, только имя файла...
$test = pathinfo($_FILES['file']['name'], PATHINFO_FILENAME);
Что тебе нужно получить?
Оригинальное название файла так оно и есть $_FILES['file']['name'];
Если тебе нужно без разрешение, только имя файла...
$test = pathinfo($_FILES['file']['name'], PATHINFO_FILENAME);
Спустя 13 минут, 58 секунд (27.06.2012 - 16:11) in9emix написал(а):
fdr, вот как сделал:
И выводит Array
$test = pathinfo($_FILES['file']['name']);
echo $test;
И выводит Array
Спустя 1 минута, 39 секунд (27.06.2012 - 16:12) in9emix написал(а):
ок сейчас попробую
Спустя 1 минута, 30 секунд (27.06.2012 - 16:14) in9emix написал(а):
Вы правы мне нужно без расширения....без jpg, mp3, png и т.д...
Ваш вариант:
Вывел с расширением (
Ваш вариант:
$test = pathinfo($_FILES['file']['name'], PATHINFO_FILENAME);
Вывел с расширением (
Спустя 5 минут, 28 секунд (27.06.2012 - 16:19) fdr написал(а):
не может быть))))
$file = 'image.jpg';
echo pathinfo($file, PATHINFO_FILENAME);
// результат
// image
Спустя 3 минуты, 6 секунд (27.06.2012 - 16:22) pak написал(а):
$path = pathinfo($_FILES['file']['name']);
echo $path['filename']; // начиная с PHP 5.2.0
Спустя 4 минуты, 23 секунды (27.06.2012 - 16:27) fdr написал(а):
pak
Цитата |
// начиная с PHP 5.2.0 |
вы наверное имели в виду до)))
Спустя 5 минут, 16 секунд (27.06.2012 - 16:32) pak написал(а):
fdr
именно ключ filename начиная с PHP 5.2.0
читал на php.net =)
именно ключ filename начиная с PHP 5.2.0
читал на php.net =)
Спустя 5 минут, 25 секунд (27.06.2012 - 16:37) fdr написал(а):
pak
Цитата |
именно ключ filename начиная с PHP 5.2.0 читал на php.net =) |
страннно))) у меня в мануале иначе)))
Спустя 2 минуты, 50 секунд (27.06.2012 - 16:40) in9emix написал(а):
Все, ура ура, заработало, благодарю всех! Очень помогли!
Спустя 18 секунд (27.06.2012 - 16:41) pak написал(а):
Цитата (fdr @ 27.06.2012 - 13:37) | ||
pak
страннно))) у меня в мануале иначе))) |
Спустя 6 минут, 28 секунд (27.06.2012 - 16:47) fdr написал(а):
pak
Угу)))
Я почему то на это смотрел)
Угу)))
Я почему то на это смотрел)
Цитата |
5.2.0 Добавлена константа PATHINFO_FILENAME. |