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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Открыть файл, прочитать его содержимое и скопировать в папку

Сообщения:  [1-10]    [11-20]  [21-25] 

 
 автор: pautina   (05.01.2012 в 15:20)   письмо автору
 
   для: pautina   (05.01.2012 в 14:56)
 

Надо же всего 5 строк кода, а все что нужно сделали.
И скопировалось то как, автоматически всё,
Спасибо вам большое, файлы определённо нужно закреплять.

  Ответить  
 
 автор: Slo_Nik   (05.01.2012 в 15:17)   письмо автору
 
   для: cheops   (05.01.2012 в 15:14)
 

Да запарился я уже писать автору про basename() )))
может Вас послушает )))

  Ответить  
 
 автор: cheops   (05.01.2012 в 15:14)   письмо автору
 
   для: pautina   (05.01.2012 в 14:56)
 

Если у вас есть абсолютный путь $path, добавьте к нему имя файла, это имя удобно извлечь при помощи функции basename()
<?php
  $path 
"/home/photoshop-portal/www/images/les1677/";
  
$img "http://www.photoshop-master.ru/lessons/les1677/20.jpg";
  
$filename basename($img);
  
// Значение для второго параметра функции copy()
  
$local_path $path.$filename;
?>

  Ответить  
 
 автор: cheops   (05.01.2012 в 15:12)   письмо автору
 
   для: pautina   (05.01.2012 в 14:50)
 

>$path = "home/photoshop-portal/www/images/1677/";
Если используете абсолютный путь, то указывайте его полностью, включая корень диска
<?php
// Это неправильный путь
$path "home/photoshop-portal/www/images/1677/";
// Это правильный путь
$path "/home/photoshop-portal/www/images/1677/";
?>

  Ответить  
 
 автор: Slo_Nik   (05.01.2012 в 15:01)   письмо автору
 
   для: pautina   (05.01.2012 в 14:50)
 

зачем вот это?

<?php
$path 
"home/photoshop-portal/www/images/1677/";

я же написал как указать путь к папке.
Она должна быть заранее создана, этот вариант кода, что я привёл не предполагает динамического создания директории.
если у Вас скрипт лежит в "www/myscript/script.php", то директория должна находится на одном уровне с ним "www/myscript/image".
Ошибка говорит о том, что не может скрипт скопировать файл в директорию, потому что этой директории нет по тому пути, по которому Вы указали
вот это тоже не верно
basename($b);
В $b хранится адрес картинки, с которого Вы будете её копировать, а так получится, что Вы пытаетесь скопировать картинку неизвестно откуда
правильно будет

<?php
$c 
basename($b);
copy($b$path.$c)

  Ответить  
 
 автор: pautina   (05.01.2012 в 14:56)   письмо автору
 
   для: cheops   (05.01.2012 в 14:54)
 

Скрипт лежит в папке
www/myscripts/
а папка в которой должны лежать рисунки
home/photoshop-portal/www/images/les1677/

  Ответить  
 
 автор: cheops   (05.01.2012 в 14:54)   письмо автору
 
   для: pautina   (05.01.2012 в 14:33)
 

Где у вас расположен скрипт относительно папки в которой должны лежать файлы?

  Ответить  
 
 автор: pautina   (05.01.2012 в 14:50)   письмо автору
 
   для: Slo_Nik   (05.01.2012 в 14:41)
 

Ни посмотрите код

<?php   
$data 
file_get_contents("img.txt"); 
$path "home/photoshop-portal/www/images/les1677/";
$a explode("\r\n",$data);  
foreach(
$a as $b){  
 
// это только вывод линков, но можно в цикле скопировать в нужную директорию через copy()  
 // echo $b."<br />"; 
 
basename($b); 
 
copy($b$path); 
}
?>

Выходит ошибка
Warning: copy(home/photoshop-portal/www/images/1677/) [function.copy]: failed to open stream: No such file or directory in Z:\home\photoshop-portal\www\myscripts\copy_img.php on line 9

  Ответить  
 
 автор: Slo_Nik   (05.01.2012 в 14:41)   письмо автору
 
   для: pautina   (05.01.2012 в 14:33)
 

Ошибка говорит о том, что имя файла не может быть пустым.
в функции copy() Вы не указали имя файла.
Определитесь, каким должно быть имя файла, остаться старым или Вы хотите новое имя файлу присвоить. Проще конечно оставить старое, тем более, что оно вполне приемлемо, не слишком мудрённое и длинное....
если старым будете оставлять, то воспользуйтесь функцией basename()... (блин, надоело уже писать одно и тоже)
ну а путь Вы уже определили в переменной $newfile, но правильней будет назвать эту переменную $path ))))
только на конце пути должен быть обязательно слеш /
$path = "dir/"; - вот Вам и путь куда сохранять файлы

  Ответить  
 
 автор: pautina   (05.01.2012 в 14:33)   письмо автору
 
   для: Slo_Nik   (05.01.2012 в 14:31)
 

Да запускал на каждый рисунок выходит ошибка
http://www.photoshop-master.ru/lessons/les1677/1.jpg
Warning: copy() [function.copy]: Filename cannot be empty in Z:\home\photoshop-portal\www\myscripts\copy_img.php on line 7
http://www.photoshop-master.ru/lessons/les1677/2.jpg

Скажите а как описать путь для папки, и имя файлов.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-25] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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