загрузка php файла не работает - пустая страница - PullRequest
0 голосов
/ 07 ноября 2011

Я пытаюсь загрузить файл с помощью php на мой локальный сервер, и после запуска скрипта (который очень прост) страница, которая должна отображать информацию, просто пуста.Может кто-нибудь помочь мне разобраться в чем проблема?Я пытался читать много разных постов, но не могу найти решение.Спасибо

html

<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

php

<?php 
// Where the file is going to be placed 
$target_path = "tmp/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
$target_path = "tmp/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

Я ничего от этого не получаю.Просто пустая страница ... и когда я проверяю tmp DIR там ничего нет ... какие-нибудь предложения?Я использую XAMP

EDIT:

Оказывается, это было две части.# 1 разрешение DIR и # 2 я должен был перейти к своему каталогу xampp через DNS для сервера.Что странно, потому что я мог бы просто пройти через localhost, и это будет работать нормально.Думаю, проблема была в самом XAMPP.

Спасибо всем за помощь!

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

Temp dir будет пустым, кроме как во время загрузки.PHP автоматически удаляет любые загруженные файлы, если вы сами с ними не справляетесь.Я бы посоветовал проверить ваш сервер и журналы php, чтобы найти сообщения об ошибках, и определенно добавить некоторую обработку ошибок в ваш скрипт.Вы предполагаете, что загрузка прошла успешно, что не очень хорошо:

if ($_FILES['uploadedfile']['error'] === UPLOAD_ERR_OK) {
    ... your code here ...
} else {
    die("Upload failed with error code " . $_FILES['uploadedfile']['error']);
}

Коды определены здесь .

0 голосов
/ 07 ноября 2011

Я просто запустил ваш код, и он отлично работает. единственная проблема, с которой вы можете столкнуться - это разрешение, убедитесь, что каталог / tmp имеет разрешение 0777, позволяющее перемещать файл. вот код, который я запустил:

<?php 
// Where the file is going to be placed 
if(isset($_FILES['uploadedfile'])){

$target_path = "img/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
$target_path = "img/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
}
?>


<form enctype="multipart/form-data" action="" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...