我必须为学校建立一个网站,我希望能够上传图片。 move_uploaded_file()函数不起作用,我不知道为什么,路径都是正确的(我用回显显示它们):\ annd not /,move_uploaded_file()中有文件名,目录创建成功但是我无法得到它的图片:/
这是我的代码:
if(isset($_POST["submitted"]))
{
if ($_FILES['imgWork']['error'] > 0)
{
$erreur = "Erreur lors du transfert"; //Vérification
echo $erreur;
if($_FILES['imgWork']['error'] == UPLOAD_ERR_NO_FILE)
{
$erreurDetail = "fichier manquant."; //Vérification
echo $erreurDetail;
}
if($_FILES['imgWork']['error'] == UPLOAD_ERR_INI_SIZE)
{
$erreurDetail = "fichier dépassant la taille maximale autorisée par PHP."; //Vérification
echo $erreurDetail;
}
if($_FILES['imgWork']['error'] == UPLOAD_ERR_FORM_SIZE)
{
$erreurDetail = "fichier dépassant la taille maximale autorisée par le formulaire."; //Vérification
echo $erreurDetail;
}
if($_FILES['imgWork']['error'] == UPLOAD_ERR_PARTIAL)
{
$erreurDetail = "Partiel"; //Vérification
echo $erreurDetail;
}
}
else
{
$tmp = $_FILES['imgWork']['tmp_name'];
$servRoot = str_replace("/",DIRECTORY_SEPARATOR,$_SERVER["DOCUMENT_ROOT"]); // adaptation du chemin racine serveur
$dossierWork= $servRoot.'siteOk'.DIRECTORY_SEPARATOR.'img'.DIRECTORY_SEPARATOR.'worksTest'.DIRECTORY_SEPARATOR;
//Créer un dossier
if(!file_exists($dossierWork))
mkdir($dossierWork, 0777, true);
//1. strrchr renvoie l'extension avec le point (« . »).
//2. substr(chaine,1) ignore le premier caractère de chaine.
//3. strtolower met l'extension en minuscules.
$ext = strtolower( substr( strrchr($_FILES['imgWork']['name'], '.') ,1) );
$nom = md5(uniqid(rand(), true)); //Nom random du fichier
$path = $dossierWork.$nom.'.'.$ext; //Chemin du fichier avec nom random et extension en partant de la racine du serveur.
$resultat = move_uploaded_file($tmp,$path);
if ($resultat)
{
$transfert='<span style="color: green;">Transfert réussi</span>';
}
else
{
$transfert='<span style="color: red;">Echec du transfert</span>';
}
echo $tmp.'<br>';
echo $path.'<br>';
echo $ext.'<br>';
echo $nom.'<br>';
}
}
以下是表格:
<form method="post" action="index.php#addWorks" enctype="multipart/form-data">
<fieldset>
<legend>Ajouter un travail</legend>
<label>Titre* :<input type="text" name="titre_form" /></label><br>
<label>Description* :<input type="text" name="description_form" /></label><br>
<label>Signature* :<input type="text" name="signature_form" /></label><br>
<input type="file" name="imgWork" /> <br>
<?php
if(isset($_POST["submitted"]))
{
echo $transfert.'<br>';
}
?>
Graphisme<input type="radio" name="type" value="graphisme" checked class="radio"/><br>
3D<input type="radio" name="type" value="3d" class="radio"/><br>
Web<input type="radio" name="type" value="web" class="radio"/><br>
</fieldset>
<input type="submit" name="submitted" value="Envoyer" />
</form>
它只写“echec du transfert”,所以我猜它是move_uploaded_file。
我怎样才能让它发挥作用?
谢谢:)
编辑:指定我在Windows 8上使用WampServer可能很有用:)