vediamo se ho capito bene:
Codice PHP:
function random_passwd($bbb) {
$string = str_shuffle("html,htm,php");
}
giusto?
però il mio problema sta con gli if,elseif,else!
allora io ho uno script del genere:
(if)se non inserisco il file mi esce errore
(else)il file va hostato
io qui in mezzo devo mettere degl elseif che mi faciano:
(elseif)se $testo,$nome,$email è vuota, mi da errore
(elseif)se $ext è uguale a php,html,htm , mi da errore
però non capisco perche mi dia errore!
Codice PHP:
<?php
$file_name = $_FILES['upfile']['name'];
$file_temp = $_FILES['upfile']['tmp_name'];
$file_type = $_FILES['upfile']['type'];
$file_size = $_FILES['upfile']['size'];
$testo = strip_tags($_POST['testo']);
$nome = strip_tags($_POST['nome']);
$email = strip_tags($_POST['email']);
$bbb = "php,html,htm";
$upload_dir = "host/";
$fgt = md5(date("dmyGis").$file_name.$file_size);
if(!is_uploaded_file($_FILES["upfile"]["tmp_name"])){
echo "File non inserito (".$_FILES["upfile"]["error"].")";
}
elseif ($testo == 0) {
echo "errore";
}
elseif ($nome == 0) {
echo "errore";
}
elseif ($email == 0) {
echo "errore";
}
elseif ($ext == $bbb) {
echo "errore";
}
else {
$ext = explode (".", $file_name);
$file_name = $fgt.".".$ext[count($ext)-1];
$st = "<a href=\"http://canaleprotetto.altervista.org/upload/$file_name\">$file_name</a>";
$su="<BR>\n";
$op_db = fopen("db.html","a+");
$fpx = fputs($op_db,$nome.$email.$st.$testo.$su);
fclose($op_db);
echo "File inserito con successo!<br />Ecco il link: http://canaleprotetto.altervista.org/upload/$file_name";
copy ($file_temp,"$upload_dir/$file_name");
}
?>
ho provato anche ad utilizzare l'array, ma non ci riesco:
Codice PHP:
//array estensioni non concesse
$bbb = array (
"html",
"htm",
"php",
"css",
"shtm",
"shtml",
"php3",
"php4",
"php5",
"hta",
"htc",
"xxhtml",
"js",
"asp",
"tpl"
);
if(!is_uploaded_file($_FILES["upfile"]["tmp_name"])){
echo "Errore: File non inserito (".$_FILES["upfile"]["error"].")!";
}
if(in_array(".$ext", $bbb)){
echo "Errore: Estensione non supportata!";
}
else {
$ext = explode (".", $file_name);
....}
dove sbaglio?