Jump to content
php.lv forumi

mkdir un move_uploaded_file


annazorka

Recommended Posts

Problēma: Nesanāk uploudot bildes uz mapi, kas ir izveidota izmantojot skriptu, bet, ja es mapi izveidoju caur FTP klientu un salieku permissionus, tad var. Pamanīju, ka mapei, ko izveido skripts owners ir cits, nekā tai mapei, ko izveidoju caur FTP. Izmēģināju chown, bet tas owneru nemaina. Varbūt kāds zina, kur problēma, vai manā skriptā vai arī man jāsazinās ar hostētāju.

 

Koda daļas:

 

//veido mapi

if (!is_dir("$target_path")){

mkdir("$target_path", 0777);

chmod("$target_path", 0777);

}

 

 

//uploudo bildes

foreach ($_FILES['pictures']['error'] as $key => $error) {

if ($_FILES['pictures']['size'][$key]<2097152){

$path=$target_path.'/'.$_FILES['pictures']['name'][$key];

$path_parts = pathinfo($path);

$ext=strtolower($path_parts['extension']);

if ($ext=='jpg' || $ext=='jpeg'|| $ext=='png'){

if ($error == UPLOAD_ERR_OK) {

$target=$target_path.'/'.'bilde'.$key.'.'.$ext;

move_uploaded_file($_FILES['pictures']['tmp_name'][$key],$target) or die("Problēmas ar faila augšupielādi");

chmod("$target",0777);

}

}

}

}

 

pēc koda izpildes man paziņo: "Problēmas ar faila augšupielādi".

Link to comment
Share on other sites

1. Pārliecinies, ka direktorija kuru uztaisa skripts ar mkdir ir patiešām 0777;

2. Iespējams vaina ir tajā ka direktorijas owners ir php process. Tapēc arī chown nenostrādā (tad jau katrs muļķis varētu nomainīt owneri kaut vai root direktorijai);

 

Risinājums:

ftp_mkdir un ja vajag ftp_chmod.

 

Šādi izveidotai direktorijai owners automātiski būs tas caur kuru notika ftp konekcija.

Link to comment
Share on other sites

×
×
  • Create New...