<?php
if(isset($_FILES["myfile"]))
{
$catalog = "../image/";
if (is_dir($catalog))
{
$myfile = $_FILES["myfile"]["tmp_name"];
$myfile_name = $_FILES["myfile"]["name"];
if(!copy($myfile, $catalog)) echo 'Ошибка при копировании файла '.$myfile_name;
}
else mkdir('../image/');
}
?>
Спустя 3 минуты, 31 секунда (7.03.2011 - 20:57) sharki написал(а):
Используй move_uploaded_file вместо copy
И кстати там в противном случае, у тебя создается директория, и всё...и скрипт кончается, т.е если нет директории он у тебя создает директорию и прекращает работу? без закачки файла?
И кстати там в противном случае, у тебя создается директория, и всё...и скрипт кончается, т.е если нет директории он у тебя создает директорию и прекращает работу? без закачки файла?
Спустя 5 минут, 36 секунд (7.03.2011 - 21:03) Niksik написал(а):
Всёравно не работает он выдаёт сообшение о том что загрузка удолась но файл не закачевается в чём плоблема подскажите пож?
Спустя 2 минуты, 2 секунды (7.03.2011 - 21:05) sharki написал(а):
<?php
if(isset($_FILES["myfile"]))
{
$myfile_name = $_FILES["myfile"]["name"];
$myfile = $_FILES["myfile"]["tmp_name"];
$catalog = "../image/";
if (is_dir($catalog)) {
$catalog = "../image/" . $myfile_name;
if(!move_uploaded_file($myfile, $catalog))
echo 'Ошибка при копировании файла '.$myfile_name;
}
else
mkdir('../image/');
}
?>
Спустя 1 минута, 32 секунды (7.03.2011 - 21:06) Niksik написал(а):
Всё равно не капирует.Блииин
Спустя 1 минута, 42 секунды (7.03.2011 - 21:08) sharki написал(а):
Niksik
Значит проверяй правильность пути загрузки
Да и вообще сначало тебе надо удостовериться что файлы корректно закачиваются, без всяких там созданий папок и т.п т.е
Создай эту папку где тебе нужно и закачай туда
Значит проверяй правильность пути загрузки
Да и вообще сначало тебе надо удостовериться что файлы корректно закачиваются, без всяких там созданий папок и т.п т.е
Создай эту папку где тебе нужно и закачай туда
if(isset($_FILES)){
$Fname = $_FILES["myfile"]["name"];
$Tname = $_FILES["myfile"]["tmp_name"];
$catalog = "../image/" . $Fname;
if(!move_uploaded_file($Tname, $catalog))
echo 'Ошибка при копировании файла '.$Fname;
else
echo 'Всё удачно';
}
Спустя 2 минуты, 7 секунд (7.03.2011 - 21:10) Niksik написал(а):
Каталог создаёт а файл туда не копирует
Спустя 33 секунды (7.03.2011 - 21:11) Niksik написал(а):
В смысле
Спустя 2 минуты, 33 секунды (7.03.2011 - 21:13) Dron19 написал(а):
в каталог помести просто image и попробуй
Спустя 45 секунд (7.03.2011 - 21:14) Niksik написал(а):
Я и это делал
Спустя 46 секунд (7.03.2011 - 21:15) Dron19 написал(а):
да кстати, саму папку без ../ попробуй создать и не забудь прикрутить ей имя файла
Спустя 3 минуты, 34 секунды (7.03.2011 - 21:18) Niksik написал(а):
Всё равно вот код
if(isset($_FILES["1"]))
{
$myfile_name = $_FILES["1"]["name"];
$myfile = $_FILES["1"]["tmp_name"];
$catalog = "image/" . $myfile_name;
if (is_dir($catalog))
{
if(!move_uploaded_file($myfile, $catalog)) echo 'Ошибка при копировании файла '.$myfile_name;
}
else mkdir('image/');
}
?>
а вот форма
<FORM ENCTYPE="multipart/form-data" ACTION="action.php" METHOD=POST>
<INPUT NAME="1" TYPE="file">
<br /><INPUT TYPE="submit" value="Передать файл">
</FORM>
посмотрите правильно?
if(isset($_FILES["1"]))
{
$myfile_name = $_FILES["1"]["name"];
$myfile = $_FILES["1"]["tmp_name"];
$catalog = "image/" . $myfile_name;
if (is_dir($catalog))
{
if(!move_uploaded_file($myfile, $catalog)) echo 'Ошибка при копировании файла '.$myfile_name;
}
else mkdir('image/');
}
?>
а вот форма
<FORM ENCTYPE="multipart/form-data" ACTION="action.php" METHOD=POST>
<INPUT NAME="1" TYPE="file">
<br /><INPUT TYPE="submit" value="Передать файл">
</FORM>
посмотрите правильно?
Спустя 4 минуты, 3 секунды (7.03.2011 - 21:22) Dron19 написал(а):
вот набросал кратенький примерчик, у меня все работает, сделай под себя и готово
html формочка
error_reporting(0);
if(isset($_FILES['file'])) {
$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
if(copy($tmp_name, 'images/'.$name)) echo 'ok'; else {
mkdir('images');
if(copy($tmp_name, 'images/'.$name)) echo 'ok';
else
echo 'sorry';
}
}
html формочка
<form enctype="multipart/form-data" method="post">
<input type="file" name="file">
<input type="submit" value="go" />
</form>
Спустя 1 минута, 38 секунд (7.03.2011 - 21:24) Dron19 написал(а):
у тебя логика скрипта неправильная, ты сначала в каталог помещаешь вот такую строку image/имя файла.расширение
а потом смотришь, папка ли это. естественно это не папка и закачку он просто пропустит и простот создаст папку, смотри на мой пример. Но это чисто наброски, сам потом доведешь до ума
а потом смотришь, папка ли это. естественно это не папка и закачку он просто пропустит и простот создаст папку, смотри на мой пример. Но это чисто наброски, сам потом доведешь до ума
Спустя 1 минута, 56 секунд (7.03.2011 - 21:26) Dron19 написал(а):
ну что?
Спустя 4 минуты, 28 секунд (7.03.2011 - 21:30) Niksik написал(а):
Брат теперь не папку не создаёт не файл не закачивает
Спустя 2 минуты, 25 секунд (7.03.2011 - 21:33) Niksik написал(а):
Короче полная жопа а может поставить move_uploaded_file
Спустя 21 минута, 50 секунд (7.03.2011 - 21:55) Niksik написал(а):
Мужики а надо чтонибудь настраивать httpd.conf?
Спустя 6 минут, 14 секунд (7.03.2011 - 22:01) Dron19 написал(а):
нет, вот тот пример, что я тебе привел у меня работает отлично, ты в дримвивере проверяешь? Через тотал командер зайди и посмотри в папку
Спустя 2 минуты, 8 секунд (7.03.2011 - 22:03) Niksik написал(а):
Через топал в нутри тоже пусто ну смотри вот код
<?php
if(isset($_FILES))
{
$Fname = $_FILES['file']["name"];
$Tname = $_FILES['file']["tmp_name"];
$catalog = "image/" . $Fname;
if(!copy($Tname, $catalog))
{ mkdir('image/');
echo 'Ошибка при копировании файла '.$Fname;
}
else
{
echo 'Всё удачно';
}
}
?>
я сам не понимаю почему он не работает
<?php
if(isset($_FILES))
{
$Fname = $_FILES['file']["name"];
$Tname = $_FILES['file']["tmp_name"];
$catalog = "image/" . $Fname;
if(!copy($Tname, $catalog))
{ mkdir('image/');
echo 'Ошибка при копировании файла '.$Fname;
}
else
{
echo 'Всё удачно';
}
}
?>
я сам не понимаю почему он не работает
Спустя 22 минуты, 26 секунд (7.03.2011 - 22:26) Niksik написал(а):
Всё брат спасибо просто я попутал адрес в action и указал путь не к тому скрипту
Спустя 39 минут, 32 секунды (7.03.2011 - 23:05) Dron19 написал(а):
Niksik, да, бывает и такое
Спустя 9 часов, 57 минут, 15 секунд (8.03.2011 - 09:02) Niksik написал(а):
слушай брат а как файл занести в базу данных?не подскажеш?
Спустя 1 час, 48 минут, 29 секунд (8.03.2011 - 10:51) sharki написал(а):
Niksik
В бд заносится только имя файла, или полный путь..а сам файл в папке лежит...и потом когда вытаскиваешь имя файла, тупо указываешь путь и т.п
В бд заносится только имя файла, или полный путь..а сам файл в папке лежит...и потом когда вытаскиваешь имя файла, тупо указываешь путь и т.п
Спустя 14 минут, 37 секунд (8.03.2011 - 11:05) Niksik написал(а):
Ну а как это делается простые данные я и сам нефиг делать мого а вот файлами занялся только вчера можеш помоч?
Спустя 4 минуты, 25 секунд (8.03.2011 - 11:10) Niksik написал(а):
Точнее простые данные сам нефиг сделаю а с этим ешё разобраться надо
Спустя 3 минуты, 55 секунд (8.03.2011 - 11:14) sharki написал(а):
Когда успешно закачивается, дальше тупо делаешь вставку INSERT'ом в БД имя файла допустим вот это $_FILES['file']["name"], и всё
Потом когда нужно вывести из бд имя файла, делаешь все по стандарту SELECT'ом
и там в массиве будет содержаться имя файла, а там куда хочешь туда и суй это имя файла, допустим чтобы вывести изображение
INSERT into `files` ('nameF') VALUES ('$_FILES["file"]["name"]')
Потом когда нужно вывести из бд имя файла, делаешь все по стандарту SELECT'ом
и там в массиве будет содержаться имя файла, а там куда хочешь туда и суй это имя файла, допустим чтобы вывести изображение
.......
echo '<img src="/upload/' . $row['name'] . '">'; // и браузер тебе выведет картинку с именем которое находится здесь $row['name'], в директории /upload/
.........
Спустя 6 минут, 59 секунд (8.03.2011 - 11:21) Niksik написал(а):
Брат красавет ну я тебя увожаю ты настаяший мужик
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 48 минут, 1 секунда (8.03.2011 - 12:09) Niksik написал(а):
Слушай последний вопрос а если мне надо вывести все изображения как надо написать?
Спустя 4 минуты, 26 секунд (8.03.2011 - 12:13) sharki написал(а):
по циклу пускай
while($row = mysql_fetch_assoc($result)) {
.......
}
Спустя 4 минуты, 41 секунда (8.03.2011 - 12:18) Niksik написал(а):
а можеш полностью написать?
Спустя 1 минута, 20 секунд (8.03.2011 - 12:19) sharki написал(а):
$result = mysql_query("SELECT........");
while($row = mysql_fetch_assoc($result)) {
echo '<img src="/upload/' . $row['name'] . '">';
}
Спустя 6 минут, 16 секунд (8.03.2011 - 12:25) Niksik написал(а):
Ты извени что достаю просто я недавно начал phpизучать тюфяк еше
Спустя 1 минута, 16 секунд (8.03.2011 - 12:27) sharki написал(а):
Так и изучай основы, зачем в практику полез ? =)
Спустя 12 минут, 29 секунд (8.03.2011 - 12:39) Niksik написал(а):
Я теорию знаю но теория и практика разные веши
Спустя 2 минуты, 47 секунд (8.03.2011 - 12:42) Niksik написал(а):
Я теорию знаю но теория и практика разные веши
Спустя 22 минуты, 24 секунды (8.03.2011 - 13:04) Niksik написал(а):
Ну всё спасибо брат
Спустя 46 минут, 4 секунды (8.03.2011 - 13:50) Dron19 написал(а):
без практики никуда к моему сожалению
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Спустя 15 минут, 38 секунд (8.03.2011 - 14:06) sharki написал(а):
Она уместна, и полезна, когда теорию уже [орошо знаешь..а тыкать пальцем в программировании как то глупо и слишком нервозно
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 15 минут, 22 секунды (8.03.2011 - 14:21) Niksik написал(а):
Да всё норм мне хватает теории и практики.
Спустя 2 часа, 43 минуты, 16 секунд (8.03.2011 - 17:05) alavasters написал(а):
))
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 22 часа, 2 минуты, 20 секунд (9.03.2011 - 15:07) Niksik написал(а):
Да знаю я теорию,я просто хочу сказать,что без практики теория нечто!
Спустя 19 часов, 49 минут, 52 секунды (10.03.2011 - 10:57) systempapa написал(а):
:rolleyes: эХ! Всем привет! столкнулся с такой проблемой, использую аякс для загрузки нескольких файлов с возможностью присвоения (кому эти файлы прикрепить)
начну с формы (инекс.пхп):
Здесь вроде все понятно, переходим к вкуснинькому,собственно тут и ошибка, сам скрипт :
Сам текст ошибки следующий:
Warning: copy(Array) [function.copy]: failed to open stream: No such file or directory in /home/virtwww/w_telemetria72-ru_66081374/http/ajax/doajaxfileupload.php on line 13
помогите пожалуйста :(
работает: загрузка файлов в папку, присвоение конкретному пользователю, дата
не рабоатет: имя файла не загоняется в таблицу, и вышеописанная ошибка :)
начну с формы (инекс.пхп):
<html>
<head>
<title>Ajax File Uploader</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="js/jquery.MultiFile.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript" src="js/jquery.blockUI.js"></script>
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
$(document).ready(function(){
$('.MultiFile').MultiFile({
accept:'jpg|gif|bmp|png|rar', max:50, STRING: {
remove:'удалить',
file:'$file',
selected:'Выбраны: $file',
denied:'Неверный тип файла: $ext!',
duplicate:'Этот файл уже выбран:\n$file!'
}
});
$("#loading").ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).hide();
});
$('#uploadForm').ajaxForm({
beforeSubmit: function(a,f,o) {
o.dataType = "html";
$('#uploadOutput').html('Submitting...');
},
success: function(data) {
var $out = $('#uploadOutput');
$out.html('Form success handler received: <strong>' + typeof data + '</strong>');
if (typeof data == 'object' && data.nodeType)
data = elementToString(data.documentElement, true);
else if (typeof data == 'object')
data = objToString(data);
$out.append('<div><pre>'+ data +'</pre></div>');
}
});
});
</script>
</head>
<body>
<form id="uploadForm" action="doajaxfileupload.php" method="post" enctype="multipart/form-data">
<input name="MAX_FILE_SIZE" value="1000000" type="hidden"/>
File: <input name="fileToUpload[]" id="fileToUpload" class="MultiFile" type="file"/>
Кому:<input type="text" name="whom"/>
<input value="Submit" type="submit"/>
</form>
<img id="loading" src="loading.gif" style="display:none;"/>
<div id="uploadOutput"></div>
</body>
</html>
Здесь вроде все понятно, переходим к вкуснинькому,собственно тут и ошибка, сам скрипт :
<?php
$error = "";
$msg = "";
$fileElementName = 'fileToUpload';
$i = 0;
$files_count = sizeof($_FILES[$fileElementName]["name"]);
//begin
$path="/home/***/*******/****/*****/upload/";
$path2="/*****/upload/";
>>>Начало ошибки здесь
>>>>if(copy($_FILES['fileToUpload']["tmp_name"],
>>>>$path.$_FILES['fileToUpload']["name"]))
$fn=$_FILES['"fileToUpload"']["name"];
$whom=$_POST['whom'];
$wh=$path2.$fn;
$date = date('Y-m-d');
@ $db = mysql_connect("*****","**","*");
if (!$db)
{
echo "Error: Could not connect to database. Please try again later . " ;
exit;
}
mysql_select_db( "******");
$qs=mysql_query("INSERT INTO `******`.`reports` (`id`,`name`,`owners`,`date`,`dir`) VALUES (null,'".$fn."','".$whom."','".$date."','".$wh."');");
echo ($qs);
//
//end
for ($i = 0; $i < $files_count-1; $i++) {
if(!empty($_FILES[$fileElementName]['error'][$i]))
{
switch($_FILES[$fileElementName]['error'][$i])
{
case '1':
$error = 'размер загруженного файла превышает размер установленный параметром upload_max_filesize в php.ini ';
break;
case '2':
$error = 'размер загруженного файла превышает размер установленный параметром MAX_FILE_SIZE в HTML форме. ';
break;
case '3':
$error = 'загружена только часть файла ';
break;
case '4':
$error = 'файл не был загружен (Пользователь в форме указал неверный путь к файлу). ';
break;
case '6':
$error = 'неверная временная дирректория';
break;
case '7':
$error = 'ошибка записи файла на диск';
break;
case '8':
$error = 'загрузка файла прервана';
break;
case '999':
default:
$error = 'No error code avaiable';
}
}elseif(empty($_FILES[$fileElementName]['tmp_name'][$i]) || $_FILES[$fileElementName]['tmp_name'][$i] == 'none')
{
$error = 'No file was uploaded..';
}else
{
if (file_exists("upload/" . $_FILES[$fileElementName]['name'][$i])){
$error =$_FILES[$fileElementName]['name'][$i] . " уже существует. ";
}
else{
$msg .= " File Name: " . $_FILES[$fileElementName]['name'][$i] . "<br/>";
//$msg .= " File Temp Name: " . $_FILES['fileToUpload']['tmp_name'] . "<br/>";
$msg .= " File Type: " . $_FILES[$fileElementName]['type'][$i] . "<br/>";
$msg .= " File Size: " . (@filesize($_FILES[$fileElementName]['tmp_name'][$i])/ 1024)."Kb";
move_uploaded_file($_FILES[$fileElementName]['tmp_name'][$i], "upload/" . $_FILES[$fileElementName]['name'][$i]);
}
//for security reason, we force to remove all uploaded file
@unlink($_FILES[$fileElementName][$i]);
}
echo "{";
echo "error: '" . $error . "',\n";
echo "msg: '" . $msg . "'\n";
echo "}";
}
?>
Сам текст ошибки следующий:
Warning: copy(Array) [function.copy]: failed to open stream: No such file or directory in /home/virtwww/w_telemetria72-ru_66081374/http/ajax/doajaxfileupload.php on line 13
помогите пожалуйста :(
работает: загрузка файлов в папку, присвоение конкретному пользователю, дата
не рабоатет: имя файла не загоняется в таблицу, и вышеописанная ошибка :)
Спустя 1 день, 9 часов, 22 минуты, 4 секунды (11.03.2011 - 20:19) Niksik написал(а):
Что это?
Вот смотри
mysql_select_db( "******");
$qs=mysql_query("INSERT INTO `******`.`reports` (`id`,`name`,`owners`,`date`,`dir`) VALUES (null,'".$fn."','".$whom."','".$date."','".$wh."');");
Вот смотри
mysql_select_db( "******");
$qs = mysql_query("INSERT INTO `******`.`reports` (`id`,`name`,`owners`,`date`,`dir`) VALUES (null,"'$fn','$whom','$date','$wh'")",$db);
Спустя 2 дня, 11 часов, 23 минуты, 44 секунды (14.03.2011 - 07:43) systempapa написал(а):
Цитата (Niksik @ 11.03.2011 - 17:19) |
Что это?
Вот смотри
|
Это так синтаксически правильно? на работу ж это не влияет сильным образом?
Спустя 2 часа, 32 минуты, 12 секунд (14.03.2011 - 10:15) Niksik написал(а):
Брат это не только синтаксически правельно но и вобшем правельно а
я даже не знаю как это работать будет
mysql_select_db( "******");
$qs=mysql_query("INSERT INTO `******`.`reports` (`id`,`name`,`owners`,`date`,`dir`) VALUES (null,'".$fn."','".$whom."','".$date."','".$wh."');");
я даже не знаю как это работать будет
Спустя 3 минуты, 15 секунд (14.03.2011 - 10:18) sharki написал(а):
Niksik
Не надо учить плохому =) у него все правильно за исключением пару моментов
Не надо учить плохому =) у него все правильно за исключением пару моментов
Спустя 18 минут, 12 секунд (14.03.2011 - 10:36) systempapa написал(а):
![ohmy.gif](http://phpforum.ru/html/emoticons/ohmy.gif)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 12 минут, 15 секунд (14.03.2011 - 10:49) Niksik написал(а):
В смысле плохому? я всё правельно паказал.