2014-04-03 7 views
0

Я пытаюсь загрузить 3 файла, используя html и PHP, на локальном сервере он работает, но когда я его размещаю, этот код не работает. В чем может быть проблема?Файл не загружается в PHP

Вот мой HTML и PHP код:

HTML КОД:

<form name="test" id="test" action="pet_up.php" enctype="multipart/form-data" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="5097152" /> 
    Upload File 1:<input type='file' id='f1' name='f1'/> 
    Upload File 2:<input type='file' id='f2' name='f2'/> 
    Upload File 3:<input type='file' id='f3' name='f3'/> 
    <input type="submit" value="Update"/> 
</form> 

PHP КОД:

if(isset($_FILES['f1']['name'])) 
{ 
$image1 = $_FILES['f1']['name']; 
$tmp1 = $_FILES['f1']['tmp_name']; 
$pathAndName1 = "uploads/".$image1; 
if(!empty($_FILES) && file_exists($tmp1) && is_uploaded_file($tmp1)) 
{ 
    move_uploaded_file($tmp1,$pathAndName1);  
} 
else 
{ 
    $pathAndName1=""; 
} 
echo"<script>alert(".$pathAndName1.");</script>"; 
$qry="update petition set f1='".$pathAndName1."'"; 
$result=mysql_query($qry); 
} 


if(isset($_FILES['f2']['name'])) 
{ 
$image2 = $_FILES['f2']['name']; 
$tmp2 = $_FILES['f2']['tmp_name']; 
$pathAndName2 = "uploads/".$image2; 
if(!empty($_FILES) && file_exists($tmp2) && is_uploaded_file($tmp2)) 
{ 
    move_uploaded_file($tmp2,$pathAndName2);  
} 
else 
{ 
    $pathAndName2=""; 
} 
echo"<script>alert(".$pathAndName2.");</script>"; 
$qry="update petition set f2='".$pathAndName2."'"; 
$result=mysql_query($qry); 
} 

if(isset($_FILES['f3']['name'])) 
{ 
$image3 = $_FILES['f3']['name']; 
$tmp3 = $_FILES['f3']['tmp_name']; 
$pathAndName3 = "uploads/".$image3; 
if(!empty($_FILES) && file_exists($tmp3) && is_uploaded_file($tmp3)) 
{ 
    move_uploaded_file($tmp3,$pathAndName3);  
} 
else 
{ 
    $pathAndName3=""; 
} 
echo"<script>alert(".$pathAndName3.");</script>"; 
$qry="update petition set f3='".$pathAndName3."'"; 
$result=mysql_query($qry); 
} 
+0

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

+0

Принимая ваш комментарий к ответу Nishants ниже, становится ясно, что вы нанесли какой-то лимит сервера. Возможно, это ограничение на размер загружаемого файла или тому подобное, поэтому скорее всего будет установлена ​​настройка php. Нам/вам действительно нужно сообщение об ошибке в файле журнала, или вы должны стараться делать это слепо. Если у вас нет доступа к файлам журнала, вы должны узнать пределы php на месте, возможно, создав тестовый скрипт, используя известную функцию 'phpinfo()' ... – arkascha

+0

проверить ** uploads ** папка существует или нет и waht - это разрешение папки –

ответ

-1

Пожалуйста, используйте эту упрощенную версию вашего запроса .. Это поможет вам отладить более легко ...

$count = count($_FILES); 
for ($i = 1; $i <= $count; $i++) 
{ 
    if (isset($_FILES['f' . $i]['name'])) 
    { 
     $image . $i= $_FILES['f' . $i]['name']; 
     $tmp . $i= $_FILES['f' . $i]['tmp_name']; 
     $pathAndName . $i= "uploads/" . $image . $i; 
     if (!empty($_FILES) && file_exists($tmp . $count) && is_uploaded_file($tmp . $count)) 
     { 
      move_uploaded_file($tmp . $i, $pathAndName . $i); 
      echo 'error uploading file'.$i; 
     } 
     else 
     { 
      $pathAndName . $i= ""; 
     } 
    } 
    if ($pathAndName . $i!= '') 
    { 
     echo"<script>alert(" . $pathAndName . $i. ");</script>"; 
    } 
    $qry = mysql_query("update petition set f" . $i. "='" . $pathAndName . $i. "'"); 
    if(!$qry) 
    { 
     echo 'error in query'.$i; 
    } 
} 
+0

Эм, действительно, это одна из возможных причин, почему вы так уверены, что это проблема? И почему вы предполагаете, что у OP есть доступ к этой системе и конкретное приложение? Также разрешение '777' _never_ - хорошая идея или действительно требуется. – arkascha

+0

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

+0

Извините, но выставляю ответ здесь не следует рассматривать как игру _guessing_. Попробуйте выяснить, в чем проблема, и только _then_ ответьте. Как вы можете видеть из комментария OPs, ваш ответ просто неверен. – arkascha

1

по умолчанию вы можете загрузить файл размером 2 Мб, если вы хотите загрузить более крупный файл, а затем измените файл php.ini и установите значение, которое вы хотите загрузить.

+0

Я думаю, что это не решение. Coz, прежде чем я пытался загрузить файлы, которые были едва 900KB, но проблема была такой же. И нужно добавить: ?? –

+0

ок брат ..... –

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