2013-03-08 4 views
0

Это скрипт, который я тестирую на своем сервере, который говорит, что загрузка файла не удалась. Но когда я пытаюсь на другом сервере, он работает. Знает ли какой-либо один это что-то делать с моей установкой php.ini или ...PHP сценарий загрузки файлов не работает на моем сервере, но работает на другом сервере

<form enctype="multipart/form-data" action="fupload.php" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" /> 
    Send this file: <input name="userfile" type="file" /> 
    <input type="submit" value="Send File" /> 
</form> 

<?php 

$uploaddir = '/var/www/vhosts/costsave.net.au/httpdocs/uploads/'; 
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']); 

echo "<p>"; 

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
    echo "File is valid, and was successfully uploaded.\n"; 
} else { 
    echo "Upload failed"; 
} 

echo "</p>"; 
echo '<pre>'; 
echo 'Here is some more debugging info:'; 
print_r($_FILES); 
print "</pre>"; 

?> 

Ошибка

enter image description here

+1

Скорее всего, вопрос с разрешениями. У вас есть ошибки для отображения? –

+0

Наиболее распространенной проблемой является отсутствие прав на запись в папку. Сначала извлеките эту вещь из списка. – asprin

+1

Some hoster forbid move_uploaded_file() –

ответ

2

Настройки, связанные с загрузки файлов:

  • file_uploads
  • upload_max_filesize
  • upload_tmp_dir
  • post_max_size
  • max_input_time

Ref: http://www.php.net/manual/en/features.file-upload.post-method.php

file_uploads булевыми или целочисленными

ли или не разрешить загрузку файлов HTTP.

Является ли разрешение также правильным для каталога загрузки temp?

upload_tmp_dir строка

Временный каталог, используемый для хранения файлов при их загрузке файла. Должен быть доступен для записи любым пользователем . Если не указано, PHP будет использовать значение системы по умолчанию. Если каталог, указанный здесь, не доступен для записи, PHP падает обратно во временный каталог по умолчанию. Если open_basedir включен, то системный каталог по умолчанию должен быть разрешен для загрузки на успех

1

Пожалуйста, проверьте, если CHMOD установлен для /var/www/vhosts/costsave.net.au/httpdocs/uploads/ и писать привилегии.

В качестве другого варианта вы можете вывести $_FILES['userfile']['error'], чтобы узнать, что произойдет.

+0

у них CHMOD есть 777, поэтому его выглядит нормально http://costsave.net.au/admin/fupload.php – Dips

+0

В вашем живом url теперь есть еще один Parse Ошибка;) – sebastian

+0

Я нашел проблему сейчас. Моя папка tmp для сервера заполнена, поэтому он не может создать файл tmp. – Dips

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