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

Форум PHP

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

 

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

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

тема: copy()
 
 автор: karlzon   (15.12.2006 в 09:26)   письмо автору
 
 

какая-то проблема с copy() на сервер...
ни ошибки не выдаёт, ни файл не грузит...
код следующий

copy($news[4],"$path_pictures/$icon");


$news[4] - путь к картинке на локале, например, f:\1.jpg
$path_pictures/$icon - путь к картинке на сервере (../upload/img/1.jpg)

   
 
 автор: tuder   (15.12.2006 в 09:32)   письмо автору
 
   для: karlzon   (15.12.2006 в 09:26)
 

Может так


copy($news[4],$path_pictures."/".$icon);

   
 
 автор: karlzon   (15.12.2006 в 10:03)   письмо автору
 
   для: tuder   (15.12.2006 в 09:32)
 

так тоже пробовала(
не пойму в чём проблема...
права на папку проставлены...
если пишу


if (!copy($news[4],"$path_pictures/$icon")) $srt_imgerr="ошибка";


строка $srt_imgerr пустая
скидываю на петерхост...может у них там заморочки какие...

   
 
 автор: tuder   (15.12.2006 в 13:55)   письмо автору
 
   для: karlzon   (15.12.2006 в 10:03)
 

}{м. А откуда на петерхосте возьмётся диск и путь f:\1.jpg ?

   
 
 автор: cheops   (15.12.2006 в 14:41)   письмо автору
 
   для: karlzon   (15.12.2006 в 10:03)
 

Выведите содержимое переменных
<?php
  
echo $news[4]."<br>";
  echo 
"$path_pictures/$icon<br>";
?>

посмотрите правильно ли указаны пути?

   
 
 автор: kasmanaft   (15.12.2006 в 18:37)   письмо автору
 
   для: karlzon   (15.12.2006 в 09:26)
 

Вам нужно с локального компутера загрузить картинку на сервер в интернете?

   
 
 автор: karlzon   (16.01.2007 в 00:17)   письмо автору
 
   для: kasmanaft   (15.12.2006 в 18:37)
 

да)
оставила тогда этот вопрос нерешенным, сейчас опять к нем вернулась...
всё также не получается...
становится забавным(

   
 
 автор: Sergey89   (16.01.2007 в 01:10)   письмо автору
 
   для: karlzon   (16.01.2007 в 00:17)
 

Сообщение tudera прочтите.

   
 
 автор: Паша   (22.12.2006 в 08:41)   письмо автору
 
   для: karlzon   (15.12.2006 в 09:26)
 

Если все пути правильные, то нужно обратить внимание на синтаксис - copy($news[4],"$path_pictures/$icon"); убери кавычки и добавь ."/".

   
 
 автор: karlzon   (16.01.2007 в 01:11)   письмо автору
 
   для: Паша   (22.12.2006 в 08:41)
 

может быть проблема в том, что из формы поля передаются следующим образом?

<input type="button" value="Добавить"  id="add" onclick="doAdd(this.form,1,this.form.published.checked);" class="btn" />

на сервере в логе пишется примерно следующее:

[Tue Jan 16 01:04:20 2007] [error] PHP Warning: copy(F:\\1809_08.jpg) [<a href='function.copy'>function.copy</a>]: failed to open stream: No such file or directory in /home/mronw/www/site1/public_html/admin/add.php on line 26
[Tue Jan 16 01:04:20 2007] [error] PHP Warning: getimagesize(../img/uploaded/1809_08.jpg) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: No such file or directory in /home/mronw/www/site1/public_html/admin/add.php on line 35

   
 
 автор: Trianon   (16.01.2007 в 01:35)   письмо автору
 
   для: karlzon   (16.01.2007 в 01:11)
 

Поймите же, наконец, что Ваш скрипт выполняется на сервере. И локалка Ваша для него есть самая обыкновенная УДАЛЕННАЯ машина. Команда copy не может копировать файлы с машины на машину. Она делает это лишь в пределах одного компьютера - серверного.

Вам же следует применять метод загрузки файла через форму. Методом POST из формы с полем типа file. И никак иначе.

   
 
 автор: Webmaster-X   (16.01.2007 в 11:02)   письмо автору
 
   для: Trianon   (16.01.2007 в 01:35)
 

cmod на папку куда загружаеш поставь 777
<?php
/* Самодельная проверка на то, является ли файл загруженным. */
function is_uploaded_file($filename
{
    if (!
$tmp_file get_cfg_var('upload_tmp_dir')) {
        
$tmp_file dirname(tempnam(''''));
    }
    
$tmp_file .= '/' basename($filename);
    
/* У пользователя может быть завершающий слеш в php.ini... */
    
return (ereg_replace('/+''/'$tmp_file) == $filename);
}

/* Вот пример использования, так как функция move_uploaded_file()
 * также отсутствует в ранних версиях: */
if (is_uploaded_file($HTTP_POST_FILES['userfile'])) {
    
copy($HTTP_POST_FILES['userfile'], "/place/to/put/uploaded/file");
} else {
    echo 
"Возможна атака загрузки файла: имя файла - '$HTTP_POST_FILES[userfile]'.";
}
?>

также можеш воспользоваться функцией is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo 
"File "$_FILES['userfile']['name'] ." uploaded successfully.\n";
   echo 
"Displaying contents\n";
   
readfile($_FILES['userfile']['tmp_name']);
} else {
   echo 
"Possible file upload attack: ";
   echo 
"filename '"$_FILES['userfile']['tmp_name'] . "'.";
}

?>

   
 
 автор: karlzon   (16.01.2007 в 16:00)   письмо автору
 
   для: Webmaster-X   (16.01.2007 в 11:02)
 

буду пробовать)
спасибо)
проблема и правда в передаче параметров из формы...не происходит у меня submit, а без этого никак файл не перетащить на сервер...

   
Rambler's Top100
вверх

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