Salve,ho creato un file php per l'upload di file,ecco il codice:
Codice PHP:
<?php
include 'dbc.php';
$dimensione_massima=10240; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024;
// percorso cartella relativo $cartella_upload="../public/";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse
$savgn = $data['savename'];
$region = $data['region'];
$description = $data['description'];
$username = $data['username'];
$dlc = $data['dlc'];
$trof=$data['trof'];
$trofei = $data['trofei'];
$cartella_upload="/public_html/sgfoldup/".$username;//cartella in cui eseguire l'upload (controllare permessi scrittura)
$file_path="/public_html/sgfoldup/".$username."/".$data['upfile'];
$errorecomp=0;
if(file_exists($cartella_upload)==false)
Mkdir($cartella_upload, 0700,true);
if($savgn=='' || $description=='' || $username=='' || is_int($trofei)==false || $savgn>=255 || $region>=20 || $description>=255 || $username>=16 || $trofei>=100){
echo('Check Field');
$errorecomp+=1;
}
else if($errorecomp==0 ){
if(!isset($_FILES['upfile']) || $_FILES['upfile']['size']==0){
echo "No file selected";
}else if($_FILES['upfile']['size']>$dimensione_massima){
echo "The file is too large $dimensione_massima_Kb Kb";
}else{
$nome_file=$_FILES['upfile']['name'];
$errore="";
if($filtrare==1){
$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
if(!in_array($estensione,$array_estensioni_ammesse)){
$errore.="File not accepted. Permitted extensions: ".implode(", ",$array_estensioni_ammesse)."
";
}
}
if(!file_exists($cartella_upload)){
$errore.="The folder doesn't exist</br>";
}
if($errore==""){
if(move_uploaded_file($_FILES['upfile']['tmp_name'], $cartella_upload.$_FILES['upfile']['name'])){
chmod($cartella_upload.$_FILES['upfile']['name'],0777); //permessi per poterci sovrascrivere/scaricare
echo "Upload successful.";
//aggiunta al database
if($trof=='si'){
$sql_insert = "INSERT into `savegame`
(`savename`,`username`,`description`,`region`,`pathsave`,`dlc`,`trof`,`trofei`,`date`,`users_ip`)
VALUES
('$savgn','$username','$description','$region','$file_path','$dlc','$trof','$trofei',now(),'$user_ip')";}
else if($trof=='no'){
$sql_insert = "INSERT into `savegame`
(`savename`,`username`,`description`,`region`,`pathsave`,`dlc`,`trof`,`date`,`users_ip`)
VALUES
('$savgn','$username','$description','$region','$file_path','$dlc','$trof',now(),'$user_ip')";}
}
}else{
echo "Unable to upload file";
}
}
if($errore!=''){
echo $errore;
}
}
?>
All'inizio mi diceva che la funzione mkdir era stata bloccata(denied permission),dopo ho settato i parametri d'aacesso alle cartelle così:
sgfoldup:776
e quella pubblica:772
e ora mi dice così:
codice:
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, no-reply@x10hosting.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Qualcuno sa aiutarmi?
Grazie.