2013-10-15 4 views
0

Я живу в Бразилии и нашел этот сайт, чтобы задать вопросы. нашел это очень хорошим.Ошибка при загрузке изображения - move_uploaded_file

«м это сообщение об ошибке

Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\wamp\www\imoveis\cadastro.php on line 22 
Call Stack 


Warning: move_uploaded_file(): Unable to move 'C:\wamp\tmp\php6DC1.tmp' to 'banners/' in C:\wamp\www\imoveis\cadastro.php on line 22 

это строка кода будет давать проблемы;

if(move_uploaded_file($banner_tmp, "banners/".$banner)): 

Эта страница cadastro.php

<?php 
    include_once "conexao/config.php"; 
    include_once "functions/functions.php"; 


    if(isset($_POST['cadastrar'])): 
     $titulo = filter_input(INPUT_POST, 'titulo', FILTER_SANITIZE_STRING); 
     $descricao = filter_input(INPUT_POST, 'descricao', FILTER_SANITIZE_STRING); 
     $banner_tmp = $_FILES['banner']['tmp_name']; 

     $larguraPermitida = 900; 
     $alturaPermitida = 300; 
     $dadosFoto = getimagesize($banner_tmp); 
     list($largura, $altura ,$numero, $tipo)= $dadosFoto; 

      if($largura > $larguraPermitida): 
         echo "Largura não pode ser maior que ".$larguraPermitida; 
          elseif($altura > $alturaPermitida): 
           echo "Altura não pode ser maior que ".$alturaPermitida; 
          else: 
       if(move_uploaded_file($banner_tmp, "banners/".$banner)): 
         cadastrarBanners($titulo,$banner,$descricao); 
         else: 
          echo "erro ao fazer upload"; 
       endif; 
      endif; 
     endif; 



?> 



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

<link rel="stylesheet" href="estilo/estilo.css" type="text/css" /> 

<link rel="stylesheet" href="estilo/acadastrar_admin.css" type="text/css"> 
<link rel="stylesheet" href="estilo/estilo.css" type="text/css" /> 
<link rel="stylesheet" href="estilo/button_iniciar.css" type="text/css"> 
<link rel="stylesheet" href="estilo/button_sobre.css" type="text/css"> 
<link rel="stylesheet" href="estilo/button_investir.css" type="text/css"> 
<link rel="stylesheet" href="estilo/button_imoveis.css" type="text/css"> 
<link rel="stylesheet" href="estilo/coin-slider-styles.css" type="text/css"> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Cadastrar Banners</title> 
</head> 

<body> 
<table width="1348" align="center" cellspacing="0" cellpadding="0"> 
    <tr> 
    <th scope="col"> 
      <div id="topo"> 
      <div id="telefone"> 
       055 81 9992-5152 
      </div> 
     </div> 
    </th> 
    </tr> 
    <tr> 
    <td><?php include_once('menu.php');?></td> 
    </tr> 
    <tr> 
    <td> <div id="conteudo"> 
     <?php include_once('menu.php');?> 
     <div id="cadastrar_administrador"> 

     <form action="" method="post" enctype="multipart/form-data"> 
     <fieldset class="first"> 
      <label class="labelOne" for="titulo">Titulo:</label>    
      <input type="text" name="titulo"/> 

      <label for="descricao">Descrição:</label> 
      <input type="text" name="descricao"/> 

      <label for="banner">Banner:</label> 
      <input type="file" name="banner"/> 

      <label class="btn" for="submit"></label> 
      <input class="btn" type="submit" name="cadastrar" value="Cadastrar Banner"/> 
     </fieldset> 
     </form> 

    </div> 

    </div> 

    </td> 
    </tr> 
    <tr> 
    <td><div align="center" id="rodape"> 
sjncsjknckjsdc 
    </div> 
</td> 
    </tr> 
</table> 
</body> 
</html> 

кто-то может мне помочь, пожалуйста.

+1

Вы пробовали абсолютный путь? т. е. 'C: \ wamp \ htdocs \ ... \ banners' - также существует ли этот каталог? и есть права на запись? – SmokeyPHP

+0

Его окна, поэтому разрешения на запись, вероятно, не являются проблемой. Конечно, нужно использовать абсолютный путь. –

+1

'' banners /".$ banner' - а где именно '$ banner' определен в вашем коде? – CBroe

ответ

1

Это линия вызывает вопрос:

if(move_uploaded_file($banner_tmp, "banners/".$banner)): 

Вы должны передать его абсолютный путь:

if(move_uploaded_file($banner_tmp, dirname(__FILE__) . "/banners/".$banner)): 

или

if(move_uploaded_file($banner_tmp, "C:/some/folder/banners/".$banner)): 
+0

Почему downvote OP? –

0

баннеры/неправильно

Вы должны написать как этот если (move_uploaded_file ($ banner_tmp "/ баннеры/$ баннер")):

Простой пример для вас .. Только для демо ...

<?php 
    $uploads_dir = '/uploads'; 

    foreach ($_FILES["pictures"]["error"] as $key => $error) 
    { 
      if ($error == UPLOAD_ERR_OK) 
      { 
       $tmp_name = $_FILES["pictures"]["tmp_name"][$key]; 
       $name = $_FILES["pictures"]["name"][$key]; 
       move_uploaded_file($tmp_name, "$uploads_dir/$name"); 
      } 
     } 
    ?> 


    /*Try this working code for move_uploaded_files */ 

    <?php 

      if(isset($_FILES['uploaded'])){ 
      $target = "galleries/".basename($_FILES['uploaded']['name']) ; 
      print_r($_FILES); 

      if(move_uploaded_file($_FILES['uploaded']['tmp_name'],$target)) 
        echo "OK!";//$chmod o+rw galleries 

    } 
Смежные вопросы