PDA

View Full Version : استفاده از دستور copy در php



soroush.elec
دوشنبه 20 آذر 1391, 12:13 عصر
سلام
من می خوام با استفاده از دستور copy یکسری از فایل ها را در یک دایرکتوری دیگر در سرور کپی کنم .

if (copy("/index.php_files/monitor/1348327220.35.wav","/testBackupFolder/1348327220.35.wav")) {
//unlink("/tmp/code.c");
echo "انجام شد";
}
else{
echo "خطا";
}
اما نمی دونم چرا خطا میده. دسترسی به دایرکتوری های مبدا و مقصد را با دستور chmod به 777 تغییر دادم. ولی بازم فایده نداشت.
این دستور true و false بر می گردونه . چطوری می تونم بفهمم چه خطایی میده؟؟؟

soroush.elec
دوشنبه 20 آذر 1391, 12:44 عصر
دوستان عزیز مسئله حل شد. مسئله مربوط بود به اسلش اول آدرس فایل ها. یعنی کد زیر عین عروسک کار می کنه:

copy("index.php_files/monitor/1348327220.35.wav","testBackupFolder/1348327220.35.wav")
یه جاهایی php به این اسلش ها گیر میده ولی خیلی وقتها مشکلی نداره . نمی دونم چرا

MRmoon
دوشنبه 20 آذر 1391, 13:29 عصر
عزیز چرا پس اصلا پست گذاشتید؟

یکم با کد ور میرفتید!

Taimaz_222
دوشنبه 20 آذر 1391, 13:56 عصر
این یک تابعیست که کامل کپی رو انجام میده یه کم اینو نگاه و بررسی کن و ازش الگوبرداری کن.



<?php
function RecursiveCopy($source, $dest, $diffDir = ''){
$sourceHandle = opendir($source);
if(!$diffDir)
$diffDir = $source;

mkdir($dest . '/' . $diffDir);

while($res = readdir($sourceHandle)){
if($res == '.' || $res == '..')
continue;

if(is_dir($source . '/' . $res)){
RecursiveCopy($source . '/' . $res, $dest, $diffDir . '/' . $res);
} else {
copy($source . '/' . $res, $dest . '/' . $diffDir . '/' . $res);

}
}
}
?>