我遇到了一些麻煩,試圖將上傳文件放入函數元素中。上傳文件的功能不起作用
我有一個包含輸入類型文件的表單,但是當我嘗試保存它時不起作用。
我已經做了一個函數,應該全部記錄並保存,然後返回一條消息,但除了上傳文件以外,所有工作都正常。這裏下面
是我的功能
/**
* Enregistrement d'un nouvel athlète
* @param type $nom
* @param type $prenom
* @param type $date_naissance
* @param type $localisation
* @param type $taille
* @param type $poids
* @param type $actif
* @param type $biographie
* @param type $url_photo
* @return string|null
*/
function recordNewAthlete($nom, $prenom, $date_naissance, $localisation, $taille, $poids, $actif, $biographie, $fileuplouad) {
$input_nom = mysql_real_escape_string($nom);
$input_prenom = mysql_real_escape_string($prenom);
$input_date = date('Y-m-d', strtotime(mysql_real_escape_string($date_naissance)));
$input_localisation = mysql_real_escape_string($localisation);
$input_taille = mysql_real_escape_string($taille);
$input_poids = mysql_real_escape_string($poids);
$input_actif = mysql_real_escape_string($actif);
$input_biographie = ($biographie);
if (isset($input_nom) && !empty($input_nom)) {
if ($_FILES['$fileuplouad']['error']) {
switch ($_FILES['$fileuplouad']['error']) {
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}
} else {
// $_FILES['url_photo1']['error'] vaut 0 soit UPLOAD_ERR_OK
// ce qui signifie qu'il n'y a eu aucune erreur
$_FILES['$fileuplouad']['name'] = mktime() . $_FILES['$fileuplouad']['name'];
$url1 = $_FILES['$fileuplouad']['name'];
$chemin_destination = 'web/teamfrancestron/www/admin/uploads/';
move_uploaded_file($_FILES['$fileuplouad']['tmp_name'], $chemin_destination . $_FILES['$fileuplouad']['name']);
$tartget_path = $chemin_destination . $_FILES['$fileuplouad']['name'];
$query = "INSERT INTO `stg_man_athletes` SET
`nom` = '{$input_nom}',
`prenom` = '{$input_prenom}',
`date_naissance` = '{$input_date}',
`localisation` = '{$input_localisation}',
`taille` = '{$input_taille}',
`poids` = '{$input_poids}',
`etat_activite` = '{$input_actif}',
`description` = '{$input_biographie}',
`url_photo` = '{$target_path}'";
mysql_query($query);
if (mysql_affected_rows() >= 0) {
return "<div class='success'>Enregistrement de l'Athlète terminé, vous pouvez continuer vos actions.</div>"
;
} else {
return "<div class='error'>Erreur fatale lors de l'enregistrement, veuillez réessayer ulterieurement.</div>";
}
}
} else {
return null;
}
}
麻煩的是,它不動的任何文件,在定義的路徑。
我打電話給我的功能一樣,
$message_enregistr_athlete = recordNewAthlete($_POST['nom'], $_POST['prenom'], $_POST['date_naissance'], $_POST['localisation'], $_POST['taille'], $_POST['poids'], $_POST['etat_activite'], $_POST['description'], 'userfile');
,我只是迴應,我想看看是否上傳是確定的結果。 sql查詢正常,所有字段都正常工作。幫助
Anykind將非常感激
你在這裏發帖求助前,應進行調試。在代碼的各個階段回顯變量以查看錯誤是什麼。 – Suyash 2013-03-21 04:36:45