copy();

Soul_Stealler

Registered
Искам да копирам файловете от една папка в друга, но засега го правя файл по файл, но нещо не става....
Код:
$stara_p = "building1.php";
$stara_p1 = "building1.dat";
$stara_p2 = "building2.php";
$stara_p3 = "building2.dat";
$stara_p4 = "building3.php";
$stara_p5 = "building3.dat";
$stara_p6 = "prou1.php";
$stara_p7 = "prou1.dat";
$stara_p8 = "home.php";
/////////
$nova_p = "$user/building1.php";
$nova_p1 = "$user/building1.dat";
$nova_p2 = "$user/building2.php";
$nova_p3 = "$user/building2.dat";
$nova_p4 = "$user/building3.php";
$nova_p5 = "$user/building3.dat";
$nova_p6 = "$user/prou1.php";
$nova_p7 = "$user/prou1.dat";
$nova_p8 = "$user/home.php";
	if ( copy($stara_p, $nova_p) and copy($stara_p1, $nova_p1) and copy($stara_p2, $nova_p2) and copy($stara_p3, $nova_p3) and copy($stara_p4, $nova_p4) and copy($stara_p5, $nova_p5) and copy($stara_p6, $nova_p6) and copy($stara_p7, $nova_p7) and copy($stara_p8, $nova_p8)){
echo '
<font color=#ff0000>
РЕГИСТРАЦИЯТА Е УСПЕШНА!<br>
<font color="#ff0000">
МОЛЯ, ИЗЧАКАЙТЕ......
<META HTTP-EQUIV="Refresh"
CONTENT="3; URL=login.html">';
	} else "Станала е грешка, моля регистрирайте се наново!";
Как би изглеждал скрипт, който копира файловете от папка default в папка с име $user - какъвто е регвания юзер
 
Дава ли ти някаква грешка???

Твоя скрипт прави още 100 неща и не се вижда къде може да е грешката.

Пробвай следното:


Код:
<?php
$file = 'building1.php';
$newfile ="$user/building1.php";

if (!copy($file, $newfile)) {
   echo "failed to copy $file...\n";
}
?>

Ако проработи значи всичко е наред!

Другия проблем може да е в папката където се намира скрипта ти и
тези папки с имената на user-ите .
ТАзи папка трябва да е 0777.
Иначе няма да може в нея да се създават въпросните папки!
Скрипта създава папка с името на усера и копира в нея файла .
Въпроса е има ли право да създава папки там????
Дал ли си му такива права? :wink:
 
nvidia каза:
Дава ли ти някаква грешка???

Твоя скрипт прави още 100 неща и не се вижда къде може да е грешката.

Пробвай следното:


Код:
<?php
$file = 'building1.php';
$newfile ="$user/building1.php";

if (!copy($file, $newfile)) {
   echo "failed to copy $file...\n";
}
?>

Ако проработи значи всичко е наред!

Другия проблем може да е в папката където се намира скрипта ти и
тези папки с имената на user-ите .
ТАзи папка трябва да е 0777.
Иначе няма да може в нея да се създават въпросните папки!
Скрипта създава папка с името на усера и копира в нея файла .
Въпроса е има ли право да създава папки там????
Дал ли си му такива права? :wink:

Дава ми, че не може да отвори папка $user...няма такъв stream и, че не може да отвори папка или файл от нзнз кой ред на кода... :shock:
 
Код:
Warning: copy($user/building1.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 69
failed to copy building1.dat...
Warning: copy($user/building2.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 76
failed to copy building1.dat...
Warning: copy($user/building3.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 83
failed to copy building1.dat...
Warning: copy($user/building4.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 90
failed to copy building1.dat...
Warning: copy($user/building5.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 97
failed to copy building1.dat...
Warning: copy($user/building6.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 104
failed to copy building1.dat...
Warning: copy($user/building7.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 111
failed to copy building1.dat...
 
Файла 'building1.php' и скрипта в една директория ли са?
Казва че няма такъв файл.Не може да го намери.
 
В една и съща са...
ето: http://web-stuff.no-ip.org/projects/0.0.2/0.0.2/building1.dat
и скрипта за рег& http://web-stuff.no-ip.org/projects/0.0.2/0.0.2/registerzapis.php
 
Привет,

Warning: copy($user/building1.dat): failed to open stream: No such file or directory in c:\appserv\www\projects\0.0.2\0.0.2\registerzapis.php on line 69

Дава ти грешка, заради ето този ред:

Код:
$newfile ="$user/building1.php";

Както сам виждаш, от лог-а на грешката, copy() се опитва да отвори файл, който се намира в $user/ папката, а ти нямат такава папка... следователно или не подаваш стойност на $user или парсера ти го интерпретира като Plain Text а не като variable, затова:

Код:
<?php 
$user = "ladycroftfan";
$file = 'building1.php'; 
$newfile = $user . "/" . $file; 

if (!copy($file, $newfile)) { 
   echo "failed to copy $file...\n"; 
} 
?>

Ще е по правилният код...
Колкото до това да се копират автоматично файловете, няма да е зле да прегледаш dir f() в php manual-a, там всичко е описано перфектно и с 2 часа тестване, сам ще откриеш отговора на въпроса, как да го направиш. Аз само ще ти подскажа стъпките.

Отваряш желаната папка, съдържанието на която искаш да копираш. Прочиташ я. Пишеш имената на файловете и папките в един масив, след което с един цикъл обхождаш масива и копираш файловете и папките в желаната папка.
 
Ау...аз тая тема я забравих...както и да е...оправих се...бях забравил да сложа едно mkdir(); :roll: :lol:
 

Back
Горе