I am trying to copy over some files pulled out from a zip folder, from out of the directory. I modified the code from this page
http://stackoverflow.com/questions/859396/extract-directory-inside-zip
for the most part it works, but when it is attempting the rename the directory files it pulls I get the following error
Warning: rename(.,Manga/Naruto/Hell/.) [function.rename]: Permission denied in C:\public_html\mangaUpload.php on line 124
Warning: rename(..,Manga/Naruto/Hell/..) [function.rename]: Permission denied in C:\public_html\mangaUpload.php on line 124
despite the fact I have chomed all the folders being used, here is the code
if(!file_exists("Manga"))
{
mkdir("Manga",0777);
chmod("Manga",0777);
}
if(!file_exists("Manga/".$_POST['mangaName']))
{
mkdir("Manga/".$_POST['mangaName'],0777);
chmod("Manga/".$_POST['mangaName'],0777);
}
if(!file_exists("Manga/".$_POST['mangaName']."/".$_POST['chapterName']))
{
mkdir("Manga/".$_POST['mangaName']."/".$_POST['chapterName'],0777);
chmod("Manga/".$_POST['mangaName']."/".$_POST['chapterName'],0777);
}
$pathname = "Manga/".$_POST['mangaName']."/".$_POST['chapterName']."/";
$chapterZip = new ZipArchive();
if ($chapterZip->open($_FILES['chapterUpload']['tmp_name']) === true) {
for($i = 0; $i < $chapterZip->numFiles; $i++) {
$chapterZip->extractTo($pathname, array($chapterZip->getNameIndex($i)));
chmod($pathname.$chapterZip->getNameIndex($i),0777);
list($width, $height) = getimagesize($pathname.$chapterZip->getNameIndex($i));
$imageLocation= "INSERT INTO imageLocation (imageLocation,imageWidth,imageHeight,chapterID) VALUES ('"."Manga/".$_POST['mangaName']."/".$_POST['chapterName']."/".$chapterZip->getNameIndex($i).
"',".$width.",".$height.",".$chapterID.")";
getQuery($imageLocation,$l);
}
$chapterZip->close();
$directories = glob($pathname.'*', GLOB_ONLYDIR);
if ($directories !== FALSE) {
foreach($directories as $directory) {
$dir_handle = opendir($directory);
while(($filename = readdir($dir_handle)) !== FALSE) {
// Move all subdirectory contents to "Chapter Folder"
if (rename($filename, $pathname.basename($filename)) === FALSE) {
$errmsg0.= "Error moving file ($filename) \n";
}
else {
$errmsg0.="You have successfully uploaded a manga chapter";
}
}
}
}
}