Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кто нибудь помогите наконец мне с переименованием файла при добавдении в папку на сервере....!!!!
 
 автор: Dinya_1   (02.03.2009 в 21:14)   письмо автору
 
 


<?
if($_FILES["name_img"]["size"] > 1024*3*1024
   { 
     echo (
"Размер файла превышает три мегабайта"); 
     exit; 
   } 
   
//если во временном кaталоге есть файл 
if(!empty($_FILES['name_img']['tmp_name'])) 
{
//определяем расширение файла 
   
$ext strrchr($_FILES['name_img']['name'], "."); 
   
//формируем путь к файлу 
   
$file "name_img/".$date."_".$time."$ext";  //здесь <date("Y-m-d")."_".time()> 
   //можно уkазать любое имя не затрагивая расширения 
   //перемещаем файл из временной директории сервера 
   //в директорию /files Web-приложения 
   
if(copy($_FILES['file']['tmp_name'], "W:/home/localhost/www/papka/img/".$file)) //Здесь ошибка...
   
//уничтожаем файл во временной директории 
      
@unlink($_FILES['name_img']['tmp_name']); 
      
     echo(
"<br><br>Файл успешно загружен <br>"); 
     echo(
"Характеристики файла: <br>"); 
     echo(
"Имя файла: "); 
     echo(
"<span style='color:red;'>".$_FILES["name_img"]["name"]."</span>"); 
     echo(
"<br>Размер файла: "); 
     echo(
$_FILES["name_img"]["size"]); 
     echo(
"<br>Каталог для загрузки: "); 
     echo(
$_FILES["name_img"]["tmp_name"]); 
     echo(
"<br>Тип файла: "); 
     echo(
$_FILES["name_img"]["type"]);
      }
      else { 
      echo(
"Ошибка загрузки файла"); 
           }}
?>

Не получается правильно написать строку,
if(copy($_FILES['file']['tmp_name'], "W:/home/localhost/www/doska/img/".$file))

в переменную $file заносится новое имя состоящее из даты и времени...
голова кругом...

  Ответить  
 
 автор: Николай2357   (03.03.2009 в 01:39)   письмо автору
 
   для: Dinya_1   (02.03.2009 в 21:14)
 

Крк души...
<?
   
if(move_uploaded_file($_FILES['file']['tmp_name'], "Здесь путь относительно скрипта, если на одном уровне, то ничего не надо/papka/img/".$file)) //Здесь ошибка... 

  Ответить  
 
 автор: Dinya_1   (03.03.2009 в 08:49)   письмо автору
 
   для: Николай2357   (03.03.2009 в 01:39)
 

>Здесь путь относительно скрипта, если на одном уровне, то ничего не надо/papka/img".$file))

если путь не указывать - все равно невставляет даже на одном уровне со скриптом,
а сдругой стороны если путь не указать как он увидит в какое место вставить файл
с измененным именем...?

<? 
if(move_uploaded_file($_FILES['file']['tmp_name'],  $file))    ?>


Новое имя заклыдывается в $file, я проверял, но всеравно файл не загружает и пишит:
Notice: Undefined index: niw_name in w:\home\localhost\www\doska\add_form.php on line 104
Ошибка загрузки файла

Видимо не может найти путь....

  Ответить  
 
 автор: Trianon   (03.03.2009 в 08:59)   письмо автору
 
   для: Dinya_1   (03.03.2009 в 08:49)
 

>Notice: Undefined index: niw_name in w:\home\localhost\www\doska\add_form.php on line 104

на 104 строке add_form.php скрипт пытается обратиться к несуществующему элементу массива с ключом niw_name .

>Ошибка загрузки файла

до переноса файла дело наверняка не доходит. Никакой путь никто и не пытается искать.

  Ответить  
 
 автор: Dinya_1   (03.03.2009 в 09:02)   письмо автору
 
   для: Trianon   (03.03.2009 в 08:59)
 

нет нет, это уменя уже изменено с учетом niw_name
Посмотрите пожалуйста еще раз

<?
//Возврат id
$id mysql_insert_id();
if(
$_FILES["name_img"]["size"] > 1024*3*1024
   { 
     echo (
"Размер файла превышает три мегабайта"); 
     exit; 
   } 
   
//если во временном кaталоге есть файл 
if(!empty($_FILES['name_img']['tmp_name'])) 
{
//определяем расширение файла 
   
$ext strrchr($_FILES['name_img']['name'], "."); 
   
//формируем путь к файлу 
   
$niw_name $id."$ext";  
   
//можно уkазать любое имя не затрагивая расширения 
   //перемещаем файл из временной директории сервера 
   //в директорию /files Web-приложения 
   
if(move_uploaded_file($_FILES['niw_name']['tmp_name'], $niw_name))  //Ошибка в этой строке
   
//уничтожаем файл во временной директории 
      
@unlink($_FILES['name_img']['tmp_name']); 
      
     echo(
"<br><br>Файл успешно загружен <br>"); 
     echo(
"Характеристики файла: <br>"); 
     echo(
"Имя файла: "); 
     echo(
"<span style='color:red;'>".$_FILES["name_img"]["name"]."</span>"); 
     echo(
"<br>Размер файла: "); 
     echo(
$_FILES["name_img"]["size"]); 
     echo(
"<br>Каталог для загрузки: "); 
     echo(
$_FILES["name_img"]["tmp_name"]); 
     echo(
"<br>Тип файла: "); 
     echo(
$_FILES["name_img"]["type"]);
      }
      else { 
      echo(
"Ошибка загрузки файла<br>".$niw_name); //Сдесь я просто для себя проверил существует ли переменная или нет...
      
exit; 
           }}

?>

  Ответить  
 
 автор: Trianon   (03.03.2009 в 09:27)   письмо автору
 
   для: Dinya_1   (03.03.2009 в 09:02)
 

что смотреть-то?
В одном месте $_FILES['niw_name'] , во всех остальных $_FILES["name_img"]

104-ю строку не найти чтоли?

  Ответить  
 
 автор: Dinya_1   (03.03.2009 в 09:39)   письмо автору
 
   для: Trianon   (03.03.2009 в 09:27)
 

104 строка такая:

<?
if(move_uploaded_file($_FILES['niw_name']['tmp_name'], $niw_name)) 
?>

Notice: Undefined index: niw_name in w:\home\localhost\www\doska\add_form.php on line 104
Ошибка загрузки файла


<?
//Возврат id
$id mysql_insert_id();
if(
$_FILES["name_img"]["size"] > 1024*3*1024
   { 
     echo (
"Размер файла превышает три мегабайта"); 
     exit; 
   } 
   
//если во временном кaталоге есть файл 
if(!empty($_FILES['name_img']['tmp_name'])) 
{
//определяем расширение файла 
   
$ext strrchr($_FILES['name_img']['name'], "."); 
   
//формируем путь к файлу 
   
$niw_name $id."$ext";  
   
//можно уkазать любое имя не затрагивая расширения 
   //перемещаем файл из временной директории сервера 
   //в директорию /files Web-приложения 
   
if(move_uploaded_file($_FILES['niw_name']['tmp_name'], "W:/home/localhost/www/doska/img/".$niw_name)) 
   { 
//уничтожаем файл во временной директории 
      
@unlink($_FILES['niw_name']['tmp_name']); 
      
     echo(
"<br><br>Файл успешно загружен <br>"); 
     echo(
"Характеристики файла: <br>"); 
     echo(
"Имя файла: "); 
     echo(
"<span style='color:red;'>".$_FILES["niw_name"]["name"]."</span>"); 
     echo(
"<br>Размер файла: "); 
     echo(
$_FILES["niw_name"]["size"]); 
     echo(
"<br>Каталог для загрузки: "); 
     echo(
$_FILES["niw_name"]["tmp_name"]); 
     echo(
"<br>Тип файла: "); 
     echo(
$_FILES["niw_name"]["type"]);
      }
      else { 
      echo(
"Ошибка загрузки файла<br>".$niw_name); 
      exit; 
           }}
?>


Почему то в строке if(move_uploaded_file($_FILES['niw_name'], говорит что niw_name - неожиданный индекс..., если niw_name не менять и оставить первоначальное имя файла name_img , то картинка просто копируется в указанную папку, без смены имени...

  Ответить  
 
 автор: Николай2357   (03.03.2009 в 11:01)   письмо автору
 
   для: Dinya_1   (03.03.2009 в 09:39)
 

104-я строка:
<?
if(move_uploaded_file($_FILES['name_img']['tmp_name'], "doska/img/".$niw_name))

если скрипт лежит на одном уровне с doska
111-я:
<?
echo("<span style='color:red;'>".$_FILES["name_img"]["name"]."</span>");
и так долее.

  Ответить  
 
 автор: Dinya_1   (03.03.2009 в 11:10)   письмо автору
 
   для: Николай2357   (03.03.2009 в 11:01)
 

Да нет же..., если (move_uploaded_file($_FILES['name_img']['tmp_name'],то имя картинки не меняется... измененное имя согласно id находится в $niw_name...

  Ответить  
 
 автор: Николай2357   (03.03.2009 в 13:11)   письмо автору
 
   для: Dinya_1   (03.03.2009 в 11:10)
 

Это не новое имя, это имя файла, помещенного во временную директорию. И оно одно, а Вы обращаетесь к несуществующему файлу. Новое имя (вместе с путем) указывается вторм аргументом функции move_uploaded_file(), а именно Ваше $niw_name. Вообще, разве не любопытно было просто попробовать?

  Ответить  
 
 автор: Dinya_1   (03.03.2009 в 17:39)   письмо автору
 
   для: Николай2357   (03.03.2009 в 13:11)
 

ооооооо...получилось... Спасибо Николай2357! :))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования