2014-11-25 2 views
0

В моем приложении я хочу сохранить тот же файл в двух разных каталогах. В моей папке www у меня есть две папки, вызывающие папку1 и папку2. Я загрузил изображения в каталог 'uploads' в папке1. Я хочу переместить это изображение в папку под названием «uploads», которая находится внутри папки2.Загрузить в несколько каталогов

Вот мой код.

$target = "uploads/"; 

$target = $target . basename($_FILES['photo']['name']); 
$target2="folder2/uploads/"; 

//This gets all the other information from the form 

$desc=$_POST['desc']; 
$pic=($_FILES['photo']['name']); 
$loc=$_POST['location']; 


// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()) ; 
mysql_select_db("selfie") or die(mysql_error()) ; 



$filename = mysql_real_escape_string($_FILES['photo']['name']); 
//Writes the information to the database 
mysql_query("INSERT INTO image_upload (description,image,location) VALUES  ('$desc','$pic','$loc')"); 


//Writes the photo to the server 

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{ 
copy($target, $target2); 
    } 
else { 

//Gives and error if its not 
echo "Sorry, there was a problem uploading your file."; 
} 
?> 

Использовал 'copy()'. Как новый веб-разработчик, я не знаю, что это правильно или нет. Мой файл upload.php находится внутри папки. Кто-нибудь может мне помочь.

ответ

0

Попробовать -

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target) && move_uploaded_file($_FILES['photo']['tmp_name'], $target2)) { //you code 

или

copy($target, $target2.basename($_FILES['photo']['name']); 
+0

Я пробовал. Но это не работает. Я не знаю, синтаксис, чтобы дать target2 правильно или нет. – Lanka

+0

проверьте структуру файла. Уровень пути должен быть одинаковым для обеих папок. –

0

Используйте функцию копирования файлов

copy()

Вы загружаете файл в первый раз.

Итак, файловый ресурс перемещается из своего временного местоположения.

Необходимо скопировать ресурс из своего первого каталога.

$target2 = "folder2/uploads/". basename($_FILES['photo']['name']); 
copy($target, $target2); 
+0

Пробовал. Но не работает :( – Lanka

0

У вас почти 90% права в этом коде. Вам просто нужно добавить одну строку (например, четвертую строку ниже кода)

$target = "uploads/"; 

$target = $target . basename($_FILES['photo']['name']); 
$target2="folder2/uploads/"; 
$target2 = $target2 . basename($_FILES['photo']['name']); 
Смежные вопросы