2014-10-29 5 views
0

Я пытаюсь загрузить изображение в каталог и отправить его путь к файлу вместе с другими данными в таблицу. После отправки его echos Ошибка загрузки файла, но я не могу понять, где его повесить. Я считаю, что это может быть связано с моей переменной результата, но я не уверен, почему. Спасибо за помощь.Ошибка загрузки файла PHP с помощью пути к файлу SQL

<!-- Updated --> 
 
    <?PHP 
 
    error_reporting(E_ALL); ini_set('display_errors', 1); 
 
    $hostname = "localhost:3306"; 
 
    $db_user = "root"; 
 
    $db_password = "admin"; 
 
    $database = "smlc"; 
 
    $db_table = "program"; 
 
    $db = mysqli_connect($hostname, $db_user, $db_password); 
 
      mysqli_select_db($db, $database); 
 
    \t 
 
    $uploadDir=dirname(__FILE__)."/images/uploaded/programs/"; 
 

 
    if(isset($_POST['Submit'])) 
 
    { 
 
    $program_name = $_POST['program_name']; 
 
    $program_description = $_POST['program_description']; 
 
    $fileName = $_FILES['Photo']['name']; 
 
    $tmpName = $_FILES['Photo']['tmp_name']; 
 
    $fileSize = $_FILES['Photo']['size']; 
 
    $fileType = $_FILES['Photo']['type']; 
 
    $filePath = $uploadDir . $fileName; 
 
    $result = move_uploaded_file($tmpName,$filePath); 
 
    if (!$result) { 
 
    echo "Error uploading file"; 
 
    exit; 
 
    } 
 
    if(!get_magic_quotes_gpc()) 
 
    { 
 
    $fileName = addslashes($fileName); 
 
    $filePath = addslashes($filePath); 
 
    } 
 

 
    $sql_program = "INSERT INTO program (program_name, program_description,filepath) 
 
    VALUES ('$program_name', '$program_description','$filePath')"; 
 

 

 
    mysqli_query($sql_program) or die('Error, query failed '); 
 
    } 
 
    ?>


          
  
<!--image_programs.php--> 
 
    
 

 
     <?PHP 
 
     $hostname = "localhost"; 
 
     $db_user = "*"; 
 
     $db_password = "*"; 
 
     $database = "smlc"; 
 
     $db_table = "program"; 
 
     $db = mysql_connect($hostname, $db_user, $db_password); 
 
       mysql_select_db($database); 
 
     \t 
 
     $uploadDir = 'images/Uploaded/programs/'; 
 
    
 
     if(isset($_POST['Submit'])) 
 
     { 
 
     $program_name = $_POST['program_name']; 
 
     $program_description = $_POST['program_description']; 
 
     $fileName = $_FILES['Photo']['name']; 
 
     $tmpName = $_FILES['Photo']['tmp_name']; 
 
     $fileSize = $_FILES['Photo']['size']; 
 
     $fileType = $_FILES['Photo']['type']; 
 
     $filePath = $uploadDir . $fileName; 
 
     $result = move_uploaded_file($tmpName,$filePath); 
 
     if (!$result) { 
 
     echo "Error uploading file"; 
 
     exit; 
 
     } 
 
     if(!get_magic_quotes_gpc()) 
 
     { 
 
     $fileName = addslashes($fileName); 
 
     $filePath = addslashes($filePath); 
 
     } 
 
    
 
     $sql_program = "INSERT INTO program (program_name, program_description,filepath) 
 
     VALUES ('$program_name', '$program_description','$filePath')"; 
 
    
 
    
 
     mysql_query($sql_program,$db) or die('Error, query failed '); 
 
     } 
 
     ?>
<!-- Image Form --> 
 

 
<form name="Image" enctype="multipart/form-data" action="image_programs.php" method="POST"> 
 
       <tr> 
 
        <td> 
 
        <input type="File" name="Photo" size="2000000" accept="image/gif, image/jpeg, image/x-ms-bmp, image/x-png" size="26"></td> 
 
       </tr> 
 
       
 
       <tr> 
 
        <td width="100">Program Name</td> 
 
        <td><input class="commentarea" name="program_name" type="text" id="program_name"></td> 
 
       </tr> 
 
       
 
       <tr> 
 
        <td width="100">Program Description</td> 
 
        <td><input class="commentarea" name="program_description" type="text"  id="program_description"></td> 
 
       </tr> 
 
       
 
       <br/> 
 
       
 
       <tr> 
 
        <td> 
 
        <INPUT type="Submit" class="button" name="Submit" value="Submit"> 
 
        </td> 
 
       </tr>   
 
    </form>
+0

Добавить отчет об ошибках в начало вашего файла (ов) сразу после открытия '

+0

Это возвращаемые результаты: Предупреждение: mysqli_select_db() ожидает ровно 2 параметра, 1 задано в C: \ xampp \ htdocs \ SMLC \ includes \ image_programs.php в строке 10 Предупреждение: move_uploaded_file (.../smlc/images /Uploaded/programs/pew.jpg): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ SMLC \ includes \ image_programs.php в строке 23 Warning: move_uploaded_file(): Невозможно переместить ' C: \ xampp \ tmp \ php4A35.tmp 'to' .../smlc/images/Uploaded/programs/pew.jpg 'в C: \ xampp \ htdocs \ SMLC \ includes \ image_programs.php в строке 23 Ошибка при загрузке файл –

+0

'mysql_select_db ($ database, $ db);' который исправит первую ошибку. '$ uploadDir = 'images/Uploaded/programs /';' и ваша ошибка 'Unable to move 'C: \ xampp \ tmp \ php4A35.tmp' to '.../smlc/images/Uploaded/programs/pew. jpg'' не такая же папка. Плюс, кажется, есть 3 точки. –

ответ

1

Попробуйте

$uploadDir=dirname(__FILE__)."/images/Uploaded/programs/"; 

и изображения папки должны быть в той же папке, что ваш текущий файл, расположенный
Загружено и закачанный не то же самое имя в зависимости от сервера ,
Так что будьте осторожны и с именами ваших папок.

+0

По-прежнему такая же ошибка ... Предупреждение: mysql_query() ожидает, что параметр 2 будет ресурсом, объект указан в C: \ xampp \ htdocs \ SMLC \ image_programs.php в строке 38 Предупреждение: mysql_error() ожидает, что параметр 1 равен быть ресурсом, строка, указанная в C: \ xampp \ htdocs \ SMLC \ image_programs.php в строке 38 –

+0

На самом деле я уже изменил имя папки на нижний регистр для непрерывности ... спасибо, хотя –

+0

Кажется, проблема с загрузкой fixed.try с помощью этого mysql_query ($ sql_program) вместо mysql_query ($ sql_program, $ db) –

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