Не удается найти загруженные файлы после загрузки изображения PHP - PullRequest
0 голосов
/ 21 апреля 2011

Я загружаю файлы из приложения для iPhone в PHP, используя следующий код:

<?php
    if ($_FILES["media"]["error"] > 0) {
    echo "Error: " . $_FILES["media"]["error"] . "<br />";
    } else {
    echo "Upload: " . $_FILES["media"]["name"];
    echo "Type: " . $_FILES["media"]["type"];
    echo "Size: " . ($_FILES["media"]["size"] / 1024);
    echo "Stored in: " . $_FILES["media"]["tmp_name"];

    if (file_exists("uploads/" . $_FILES["media"]["name"])) {
        echo $_FILES["media"]["name"] . " already exists. ";
    } else {
        move_uploaded_file($_FILES["media"]["tmp_name"],
        "uploads/" . $_FILES["media"]["name"]);
        echo "Stored in: " . "uploads/" . $_FILES["media"]["name"];
    }
}
?>

После этого я получаю сообщение об успехе с надписью «uploads / 2542543.jpg» - но мне не кажетсячтобы найти, где изображение на самом деле хранится.Является ли путь к файлу относительно файла php (который находится в php - и имеет папку для загрузки) или он является абсолютным из корня ??

EDIT : похоже, файл должен был закончитьсявверх в php / uploads / filename.jpg - но, похоже, это не происходит.Я не совсем понимаю, почему - у кого-нибудь есть идеи?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

Это определяется в php.ini с помощью директивы upload_tmp_dir. Если это не установлено, используется системное значение по умолчанию, которое вы можете определить, используя sys_get_temp_dir. Я считаю, что по умолчанию /tmp в Linux и C:\Windows\Temp\ в Windows.

2 голосов
/ 21 апреля 2011

Это абсолютный путь от корня

/uploads/2543.jpg

Это относительный путь из вашего документа PHP

uploads/2543.jpg

Итак, вы работаете с относительным путем (обратите внимание на отсутствующий / в начале)

...