2016-01-04 3 views
0

У меня есть сценарий, который загружает файл. Затем он создает новую папку и перемещает загруженный файл в эту папку вместе с другим скриптом.Выполнить файл PHP, расположенный в другой папке

После перемещения файла мне нужно запустить второй скрипт, который находится в новой папке. Но мне нужен второй скрипт для использования его пути, а НЕ путь, из которого он вызван/выполнен. (сценарий загрузки)

Вот как я попытался выполнить сценарий из сценария загрузки.

exec("php-cli uploads/".$dirname."/".$file_name."/generate_thumbs.php");

У меня есть отчеты об ошибках на но ничего не генерируется. Есть идеи?

+0

Вы думали об использовании завитка, чтобы добиться того, что вам нужно сделать? – Derek

ответ

3

Если вы хотите изменить working directory, используйте chdir() до exec(). Вы можете передать абсолютное или относительное имя каталога. Чтобы выполнить PHP с PHP, вы можете использовать include вместо exec().

редактировать сценарий загрузки на:

<?php 
    // ... upload the file ... 

    // ,,open'' the target directory 
    chdir("uploads/$dirname/$file_name/"); 

    // start the thumbs script 
    // this filename is relative to "uploads/$dirname/$file_name/" 
    include "generate_thumbs.php"; 
?> 
+0

Работает отлично! Спасибо за помощь. – user2413654

1

Что вы должны сделать, так это в вашем втором скрипте использовать путь к тому, где находится скрипт.

Как было выяснено в ответ: Get absolute path of current script

Оттуда вы можете написать скрипт для работы с которой он до тех пор, как вы можете решить, где она.

+0

Спасибо. lukasrozs ответ исправил мою проблему. – user2413654

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