use temporary file managment

This commit is contained in:
Robin Appelman 2012-02-28 11:33:59 +01:00
parent a76ff563d6
commit 3e0bb3e7c4
3 changed files with 7 additions and 7 deletions

View file

@ -92,7 +92,8 @@ abstract class OC_Filestorage_Common extends OC_Filestorage {
return false;
}
$head=fread($source,8192);//8kb should suffice to determine a mimetype
$tmpFile=tempnam(get_temp_dir(),'OC_TMP_').substr($path,strrpos($path,'.'));
$extention=substr($path,strrpos($path,'.'));
$tmpFile=OC_Helper::tmpFile($extention);
file_put_contents($tmpFile,$head);
$mime=OC_Helper::getMimeType($tmpFile);
unlink($tmpFile);
@ -114,7 +115,8 @@ abstract class OC_Filestorage_Common extends OC_Filestorage {
if(!$source){
return false;
}
$tmpFile=tempnam(get_temp_dir(),'OC_TMP_').substr($path,strrpos($path,'.'));
$extention=substr($path,strrpos($path,'.'));
$tmpFile=OC_Helper::tmpFile($extention);
$target=fopen($tmpFile);
$count=OC_Helper::streamCopy($source,$target);
return $tmpFile;

View file

@ -278,8 +278,9 @@ class OC_FilesystemView {
public function toTmpFile($path){
if(OC_Filesystem::isValidPath($path)){
$source=$this->fopen($path,'r');
$tmpFile=tempnam(get_temp_dir(),'OC_TMP_').substr($path,strrpos($path,'.'));
if($source){
$extention=substr($path,strrpos($path,'.'));
$tmpFile=OC_Helper::tmpFile($extention);
return file_put_contents($tmpFile,$source);
}
}

View file

@ -62,7 +62,7 @@ class OC_Installer{
//download the file if necesary
if($data['source']=='http'){
$path=tempnam(get_temp_dir(),'oc_installer_');
$path=OC_Helper::tmpFile('.zip');
if(!isset($data['href'])){
OC_Log::write('core','No href specified when installing app from http',OC_Log::ERROR);
return false;
@ -142,9 +142,6 @@ class OC_Installer{
//remove temporary files
OC_Helper::rmdirr($extractDir);
if($data['source']=='http'){
unlink($path);
}
//install the database
if(is_file($basedir.'/appinfo/database.xml')){