2013-12-12 4 views
0

Я php-скрипт, который вызывается из формы файла, и он должен проверить форму для ввода пароля, имени файла, файла и ошибок в temp. Если он проходит все тесты, он должен загружаться с использованием move_uploaded_file, но это не работает. Ошибок нет, но я знаю, что он проходит все тесты, иначе он вернется к странице. PHP скрипт:move_uploaded_file() Не загружает файлы

<?php 
$temp = explode(".", $_FILES["file"]["name"]); 
if ($_POST["pass"] == "examplePass"){ 
    if($_FILES["file"]["name"] == ""){ 
     header("Location: /upload?i=f"); 
    } 
    elseif($_FILES["file"]["type"] != "application/x-shockwave-flash"){ 
     header("Location: /upload?i=s"); 
    } 
    elseif ($_FILES["file"]["error"] > 0){ 
     header("Location: /upload?i=e"); 
    } 
    else{ 
     move_uploaded_file($_FILES["file"]["tmp_name"], "/swf/". $_FILES["file"]["name"]); 
     if(file_exists("/swf/" . $_FILES["file"]["name"])){ 
      header("Location: /upload?i=o"); 
     } 
     else{ 
      print_r($_FILES); 
     }  
    } 
} 
else{ 
    header("Location: /upload?i=p"); 
} 
?> 

Этот выход:

Array ([file] => Array ([name] => launcher.swf [type] => application/x-shockwave-flash [tmp_name] => /tmp/phpBugtQL [error] => 0 [size] => 161303)) 

Я попытался это с несколькими SWF-файлов, и я помню, он привык работать. Я установил всю мою веб-папку на 0777, а также переписал ее во все подкаталоги и файлы. Каталог/swf/находится в корне, поэтому это абсолютный путь. Спасибо заранее, Кайл

+0

Использует ли ваша форма кодирование multipart/form-data? Попробуйте открыть обработчик файла и записать файл в каталог. Каково возвращаемое значение move_uploaded_file? – Corni

+0

В целях отладки вы попробовали 'move_uploaded_file' в том же каталоге, что и скрипт? – Lasse

+0

Да, моя кодировка верна, и я попробую, чтобы Lasse – FishBowl

ответ

0

Вы можете попробовать использовать, ../swf/ или полный путь ГИФОВ папки вместо /swf/

move_uploaded_file($_FILES["file"]["tmp_name"], "../swf/". $_FILES["file"]["name"]); 

Причина для swf пути к папке, убедитесь, что вы использовали правильный путь

+0

Как я уже сказал, swf находится в корневой папке моего веб-сервера, поэтому полный путь к нему из Интернета: serverurl/swf/<- это вызывает каталог на моем сервере, также я думал, что вы не предполагаете использовать относительные пути к файлу с файлом move_uploaded_file, так как он имеет неожиданные результаты. – FishBowl

+0

Я попытался поместить свой PHP-скрипт в корневой каталог, и он работал, а затем, когда я переместил его, он снова работал:/thanks anyway – FishBowl

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