Nasıl PHP ile yeni bir klasöre dosyaları deposunu kopyalarım

2 Cevap php

Ben benim yönetici klasörlerindeki "depo" adında bir klasör var. Index.html ve content.php: Bu klasör, 2 dosya tutar. Bir kullanıcı yeni bir sayfa oluşturur php kullanıcı tarafından belirtilen yeni bir klasör daha sonra depo onları bırakarak bu klasöre içine iki dosyaları kopyalamak gerekecektir oluşturur.

copy(file,dest) does not work. rename(file,dest) moves the files to the new folder but I lose them in the repository.

Nasıl ben bir klasördeki dosyaları özgün klasörde dosyaları kaybetmeden yeni bir klasöre kopyalayın musunuz?

$dest = '../'.$menuLocation.'/'.$pageName; 
$file1= "repository/index.html"; 
$file2= "repository/content.php"; 
mkdir($dest,0777); 
rename($file1,$dest.'/index.html'); 
rename($file2,$dest.'/content.php');

$ MenuLocation ve $ safyaadı kullanıcı tarafından sağlanır. Dosyaları vardır, döner doğru geri file_exists. Ayrıca, dizin hiçbir sorunları ile oluşturulur. Ayrıca ben sadece depodaki dosyaları kaybetmek çalışır () yeniden adlandırın.

2 Cevap

Buna çözüm için avcılık herkes için:

php kopya () kullanırken de dosya adını eklemeniz gerekir.

copy(orginalfile,destination_with_filename);

örneğin:

Yanlış:

copy('/temp/sports/basketball.jpg','/images/sports/')

Doğru:

copy('/temp/sports/basketball.jpg','/images/sports/basketball.jpg')

Kopyasını () kullanın. O amele ya değilse program bilir böylece dönüş değeri yakalamak emin olun. Ayrıca PHP komut dosyası yürütme kullanıcı belirttiğiniz yerde yeni bir dosya oluşturmak mümkün olduğunu doğrulamak için dosya ve dizin izni kontrol. Bu varsayımları onaylamak için dizinde kullanım is_writable () isteyebilirsiniz.