2015-09-03 2 views
2

Я создаю онлайн-галерею с функцией загрузки. Я использую PHP для загрузки изображений и сохранения их в базе данных mysql. Похоже, что он не позволяет загружать файлы размером более 64 КБ.Размер загрузки файла PHP ограничен после изменения upload_max_filesize на php.ini

Ниже мой HTML код

<form action="upload.php" method="POST" enctype="multipart/form-data"> 
    <label>File: </label> 
    <input type="file" name="image" /> 
    <input type="submit" value="upload" name="submit"/> 
</form> 

код

<?php 

//file properties 
if(isset($_POST['submit'])) 
{ 

    if(getimagesize($_FILES['image']['tmp_name']) == FALSE) 
    { 
     echo "Please select an image"; 
    } 
    else 
    { 
     $image = addslashes($_FILES['image']['tmp_name']); 
     $name = addslashes($_FILES['image']['name']); 
     $image = file_get_contents($image); 
     $image = base64_encode($image); 
     saveimage($name,$image); 
    } 
} 
displayimage(); 
function saveimage($name,$image){ 
     $con=mysql_connect("localhost","root","admin"); 
     mysql_select_db("brandon",$con); 
     $qry = "insert into store(name,image) values('$name','$image')"; 
     $result = mysql_query($qry,$con); 
     if($result){ 
      echo "<br/> Image uploaded"; 
     }else{ 
      echo "<br/> Image not uploaded"; 
     } 
    } 
//display image 
function displayimage() 
{ 
    $con=mysql_connect("localhost","root","admin"); 
    mysql_select_db("brandon",$con); 
    $qry="select * from store"; 
    $result=mysql_query($qry,$con); 
    while($row = mysql_fetch_array($result)) 
    { 
     echo '<img height="300" width="300" src="data:image;base64,'.$row[2].' "> '; 
    } 
    mysql_close($con); 
} 

upload.php на моей базе данных у меня есть таблица настройки с 3-мя столбцами (ID, имя, изображение). Идентификатор - это автоматический прирост и первичный. Имя - ТЕКСТ, а изображение - LONGBLOB.

Я использую PHPstorm с PHP версии 5.6.3. Версия Xampp - 3.2.1. Другие предлагают увеличить upload_max_limit на php.ini, но он не работает для меня. Я изменил его следующим образом

; Maximum allowed size for uploaded files. 
; http://php.net/upload-max-filesize 
upload_max_filesize=128M 

; Maximum size of POST data that PHP will accept. 
post_max_size=128M 

с max_memory набор для 128M и 60-е годы ожидания.

Все идет гладко, если я загрузить небольшой файл изображения, но если я загрузить большой файл изображения, он идет следующим образом

  • берет меня на пустую страницу (эхо-функция не выполняется, но отображает ранее загруженные изображения)
  • Когда я пытаюсь получить доступ к другому файлу php, он загружается бесконечно. (Он говорит, что ждет локального хоста в нижнем левом углу google chrome)
  • Когда я пытаюсь получить доступ к другому файлу php, он показывает '502 bad gateway '

Пожалуйста, помогите и заблаговременно

Редактировать 1: Журналы ошибок отладчика, apache и mysql не показывают ошибок. Я перезапустил XAMPP, PHPStorm и браузер Chrome, чтобы снова вернуть его в рабочее состояние (что позволяет загружать небольшие файлы изображений и выполнять php-файлы вместо бесконечной загрузки и 502 плохих шлюза)

Редактировать 2: Решено! Я попытался запустить его из localhost вместо autolaunch из PHPStorm. Он работает отлично.

ответ

0

После изменения файла php.ini вы перезапустили Xampp? Это не повлияет, пока это не произойдет. Кроме того, проверьте свои журналы ошибок PHP и Apache в отношении ошибки «плохого шлюза», которая может дать вам более подробную информацию о том, что происходит.

+0

Добавлено Редактировать 1. Не повезло. –

+0

Как насчет журнала ошибок PHP? – JeremyB

+0

сказал в 'edit 1' выше, что он не показывает ошибки –

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