我真的不明白这个" move_uploaded_file"错误

时间:2016-04-20 09:22:50

标签: php database image forms

我认为我的问题出在我的

$ dossier =" / AprimeWeb / img /&#34 ;;

我为我的档案尝试了很多东西($ folder in english)

有了这个,我得到了这个错误

  

警告:move_uploaded_file(/AprimeWeb/img/face_merrick.jpg):失败   打开流:没有这样的文件或目录   第44行的C:\ UwAmp \ www \ AprimeWeb \ admin \ ajout-plaquette.php

     

警告:move_uploaded_file():无法移动   ' C:\ Users \用户接受方Theal \应用程序数据\本地\ TEMP \ php5F09.tmp'至   ' /AprimeWeb/img/face_merrick.jpg'在   第44行的C:\ UwAmp \ www \ AprimeWeb \ admin \ ajout-plaquette.php

我的代码:

require_once('connexion.php');

$return = array('success' => false);

$titre            = isset($_POST['titre']) ? $_POST['titre'] : null;
$lieu    = isset($_POST['lieu']) ? $_POST['lieu'] : null;
$annee    = isset($_POST['annee']) ? $_POST['annee'] : null;
$montant    = isset($_POST['montant']) ? $_POST['montant'] : null;
$prestation    = isset($_POST['prestation']) ? $_POST['prestation'] : null;
$detail    = isset($_POST['detail']) ? $_POST['detail'] : null;

//-----------------------

$fichier = basename($_FILES['image']['name']);


$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image']['name'], '.');
$dossier = "/AprimeWeb/img/";
//-----------------------

if(!is_null($titre) && !is_null($lieu)  && !is_null($annee) && !is_null($montant) && !is_null($prestation) && !is_null($detail) && !is_null($fichier)) {

    $sql = 'INSERT INTO plaquettes SET titre = \'' . $titre . '\', lieu = \'' . $lieu . '\', annee = \'' . $annee . '\', montant = \'' . $montant . '\', prestation = \'' . $prestation . '\', detail = \'' . $detail . '\'';
    $return['success'] = $connexion->exec($sql);
}


if(!in_array($extension, $extensions))

{
     $erreurup = 'Vous devez uploader un fichier de type png, gif, jpg ou jpeg';
}

if(!isset($erreurup)) //S'il n'y a pas d'erreur, on upload
{

     $fichier = strtr($fichier,
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

     if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier))

    {
    $reqimg = $connexion->prepare('INSERT INTO plaquettes SET img = \'' . $fichier . '\'');
    $reqimg->execute(array($fichier));
    $reqimg->closeCursor();}
else
{    
    echo 'Echec de l\'upload !';
}
}else
{
     echo $erreurup;
}


echo json_encode($return);`

我不知道分割我的文字是否有用添加请求和我的图片添加请求但是我更容易检查错误

感谢您的帮助,如果您能告诉我如何在我的档案中找到一条路径。

2 个答案:

答案 0 :(得分:2)

请尝试使用此路径: $ dossier = $ _SERVER ['DOCUMENT_ROOT']。'/ AprimeWeb / img /';

答案 1 :(得分:1)

上传时,应使用完整路径。

$dossier = 'C:/UwAmp/www/AprimeWeb/img/';

还要确保img文件夹可写。